Hallo ihr Lieben,
Ich habe die ehrenvolle Aufgabe ein Programm mit Python zu schreiben, welches eine Zahl als input fordert und mir anschliessend ausgeben soll ob es eine Primzahl ist oder nicht(auf spanisch dann 'compuesto').
Folgendes ist mein gescheiterter Versuch:
n=int (raw_input('numero:'))
for i in range (n/2,2,-1):
A= float(n%i)
if A == 0.0:
es_primo= False
print n, 'es compuesto'
break
else:
print n,'es primo'
es_primo = True
Das Programm stimmt fuer die zahlen 6,12,... aber bei 4 druckt er mir gar nichts und bei 19 druckt er mir jeden abgefahrenen schritt in der for-schleife, ich darf sie aber auch nicht unterbrechen... ahh ich verzweifel grade, hat jemand mal einen guten tipp??
Danke fuer jeden Hinweis!
Probleme beim Programieren von Primzahlen
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
1. Es gibt `python` Tags, bitte nutze sie.
2. Warum wandelst du das modulo Ergebnis in ein `float` um? Floating point und Vergleiche mittels `==` sind ein No-Go, da Zahlen nicht exakt repraesentiert werden.
3. Schau doch mal, was `range(4/2, 2, -1)` ausgibt.
2. Warum wandelst du das modulo Ergebnis in ein `float` um? Floating point und Vergleiche mittels `==` sind ein No-Go, da Zahlen nicht exakt repraesentiert werden.
3. Schau doch mal, was `range(4/2, 2, -1)` ausgibt.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
ah du hast absolut recht... bei i in range (2,2) kann ja nichts gescheites herauskommen!
Sorry das mit den python tags kannte ich nicht, werde ich aber benutzen falls ich mal wieder nicht weiterkomme... flaot() wurde eliminiert und ich ueberleg einfach mal noch eine weile und hoffe ich kann dich wieder fragen wenn ich irgendwo steckenbleibe.
lg
Sorry das mit den python tags kannte ich nicht, werde ich aber benutzen falls ich mal wieder nicht weiterkomme... flaot() wurde eliminiert und ich ueberleg einfach mal noch eine weile und hoffe ich kann dich wieder fragen wenn ich irgendwo steckenbleibe.
lg