Die Suche ergab 16 Treffer

von Rudolph
Donnerstag 6. September 2012, 20:20
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Der grund für range(2,n) und nicht range(2,n,2) ist das bei letzterem Zahlen wie "9",.. auch in die Liste kommen.
Ist doch auch kein Wunder, denn range(2,n,2) erzeugt eine Liste der Form [2,4,6,8,...], also alle geraden Zahlen bis n-1. Deshalb habe ich ja auch range(3, n//2, 2) vorgeschlagen, dass ...
von Rudolph
Donnerstag 6. September 2012, 18:03
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Okay ich habe jetzt das hier stehen:
def ist_prim(n):
for teiler in range(2,n):
if n % teiler == 0 and n != 2:
return False
return True

Der grund für range(2,n) und nicht range(2,n,2) ist das bei letzterem Zahlen wie "9",.. auch in die Liste kommen.
n//2 ist zwar sinnvoll, aber das habe ich ...
von Rudolph
Donnerstag 6. September 2012, 16:35
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Wenn du schon auf optimierungen bedacht bist(`range(,, 2)`), kannst du auch das wissen ausnutzen, dass du sammelst.

Und ploetzlich ist `is_prime` ziemlich kurz - natuerlich sollte man die aktuelle Primzahlliste uebergeben:
def is_prime(n, lower_primes=[2]):
return all((n % lower != 0) for lower ...
von Rudolph
Donnerstag 6. September 2012, 15:38
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Hmm..
ich habe mal nochmal drüber nachgedacht und kam drauf das mein Weg die Aufgabe zu lösen sehr schwer und falsch ist, als ich mir die Aufgabenstellung nochmal durchgelesen habe..
Jetzt habe ich es nochmal versucht und das kam dabei raus:
def ist_prim(n):
teiler = 1
while teiler <= n // 2 ...
von Rudolph
Mittwoch 5. September 2012, 22:04
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

So. Ich habs jetzt endlich geschafft. Ich bedanke mich für eure Hilfe, ganz besonders bei dir darktrym.
Meine fertige Funktion sieht nun so aus:
primliste = [2]
for zahl in range(3,eingabe):
for teiler in primliste:
if zahl < teiler:
break
if zahl % teiler == 0:
break
primliste.append(zahl ...
von Rudolph
Mittwoch 5. September 2012, 21:05
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Prinzipiell schon, dein Code wirft aber wahrscheinlich einen NameError. Und noch zwei Dinge, die mir aufgefallen sind: Du solltest dir angewöhnen nicht gleich wegen jedem Kleinkram zu fragen, wie willst du sonst etwas lernen? Sieben Minuten von einem Hinweis bis zum abschicken einer Antwort, machen ...
von Rudolph
Mittwoch 5. September 2012, 20:52
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Du sollst dir die Zwischenergebnisse ausgeben lassen, so siehst du, was du falsch gemacht hast.

Zu dem if: for-Schleifen kann man noch einen else-Block anfügen, welcher genau dann ausgeführt wird, wenn man die Schleife nicht mit break verlassen hat. Jetzt kannst du dir ja mal überlegen, was das ...
von Rudolph
Mittwoch 5. September 2012, 20:40
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

darktrym hat geschrieben:1.) Klar doch.
2.) Ersetze mal die Fragezeichen durch print Anweisungen. Und probier's mal mit Eingabe von 30.
Alle 3? Also auch das mit if?
Und was soll denn ausgegeben werden?
Und was bringt das wenn ich etwas ausgebe?
von Rudolph
Mittwoch 5. September 2012, 20:24
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

primes = [2]
last = int(input("number: "))
for number in xrange(3, last, 2):
(?1)
for test in primes:
if number % test == 0:
(?2)
break
if (?3):
primes.append(number)
print primes
Ich habs so gelöst, nun musst du nur noch die Fragezeichen klären ;)


Okay dafür danke ich dir schonmal ...
von Rudolph
Mittwoch 5. September 2012, 19:58
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

webspider hat geschrieben:Passend eingestreute print-Anweisungen sind ebenfalls eine primitive, aber sehr hilfreiche Debuggingmethode.
Ja okay. Aber ich weiß nicht wo ich die hinsetzten soll und bin mir sicher es gibt auch eine andere Lösung.
von Rudolph
Mittwoch 5. September 2012, 19:56
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Du musst schon prüfen ob die zu untersuchende Zahl auch ja keinen Teiler hat in der Liste deiner bereits gefunden Primzahlen.
Im Prinzip zwei in sich geschachtelte for-Schleifen, die äußere iteriert über alle Zahlen, die innere über die Elemente aus primliste. Die Abbruchbedingung hast du bereits ...
von Rudolph
Mittwoch 5. September 2012, 19:15
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Okay,
du hast eine Liste mit einem Element 2.

Nun testet du ob:
3 - kein Teiler, also prim, ab in Liste(2,3)
4 - hat 2 als Teiler, entsorgen
5 - kein Teiler, ab in Liste(2,3,5)
6 - Teiler 2, entsorgen
7 - kein Teiler, ab in Liste(2,3,5,7)
8 - Teiler 2, entsorgen
9 - Teiler 3, entsorgen
...

Du ...
von Rudolph
Mittwoch 5. September 2012, 19:03
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Stichwort: Sieb des Erastothenes.

Wie du testest ob eine Zahl prim ist, ergibt sich aus der Definition: Sie ist nur durch sich selbst und 1 restlos teilbar. Die naive Loesung ist also eine Schleife in einer Schleife zu benutzen. Mit ein paar Optimierungen ist man dann schnell an erwaehntem ...
von Rudolph
Mittwoch 5. September 2012, 18:56
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Du hast eine Liste aller gefunden Primzahlen bis n.
Also müsste jede weitere Zahl(n+1), sofern sie eine Primzahl ist, nicht teilbar sein durch Elemente aus dieser Liste.

Die Liste habe ich nicht.
Den zweiten Satz versteh ich nicht ganz. Sofern eine Zahl eine Primzahl ist ist sie doch sowieso ...
von Rudolph
Mittwoch 5. September 2012, 18:30
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Re: Problem mit einer Aufgabe

Also hier in Forum finde ich nur die 3 Themen (Sage - Primzahl;Primzahl;Zahl kleiner machen durch ZAHL % PRIMZAHL). In Wikipedia finde ich zwar schon etwas, jedoch Hilft mir das nicht, weil es nicht zur Aufgabenstellung passt.
von Rudolph
Mittwoch 5. September 2012, 18:14
Forum: Allgemeine Fragen
Thema: Problem mit einer Aufgabe
Antworten: 40
Zugriffe: 3474

Problem mit einer Aufgabe

Guten Tag,
ich bin ein Schüler und habe Informatikunterricht. Bis jetzt hatte ich nie Probleme damit, die Aufgaben meines Lehrers zu lösen. Heute aber haben wir eine ganz schön schwere Aufgabe bekommen. Ich erwarte nicht das ihr mir die Lösungen gebt und das will ich auch nicht! Ich hoffe nur ihr ...