Ich versuche, die größte ungerade Zahl zu drucken. Bisher habe ich den Code unten.
largest = None
for integer in range(1,11):
integer = int(input("Enter integer #%d: " % integer))
if integer % 2 != 0 and (not largest or integer > largest):
largest = integer
if largest is None:
print ("You didn"t enter any odd numbers")
else:
print ("Your largest odd number was: "), max(largest)
Ich kann 10 ganze Zahlen eingeben, aber alles was ich bekomme ist Your largest odd number was:
statt der größten Zahl und das ist nur leer. Ich versuche, (max) zu verwenden, um die größte Ganzzahl zu drucken, aber nicht sehr erfolgreich.
Antworten:
0 für die Antwort № 1Ist das was du willst?
largest = None
for integer in range(1,11):
integer = int(input("Enter integer #%d: " % integer))
if integer % 2 != 0 and (not largest or integer > largest):
largest = integer
if largest is None:
print ("You didn"t enter any odd numbers")
else:
print ("Your largest odd number was: "), largest
Sie weisen dem größten bereits den maximalen Wert zu, so dass Sie max () nicht tun müssen. Die Funktion max () gibt das Maximum einer Liste an. largest
ist eine ganze Zahl, keine Liste.
0 für die Antwort № 2
Wenn Sie verwenden möchten max
Sie könnten so etwas tun, indem Sie nur die ungeraden Zahlen in einer Liste belassen.
odd_numbers = []
for integer in range(1, 11):
integer = int(input("Enter integer #%d: " % integer))
if integer % 2 != 0:
odd_numbers.append(integer)
if not odd_numbers:
print("You didn"t enter any odd numbers")
else:
print("Your largest odd number was: {}".format(max(odd_numbers)))
0 für die Antwort № 3
Ein paar Dinge zu beachten.
- Basierend auf Ihrer Beschreibung habe ich minimale Änderungen an Ihrem System vorgenommen Code, um das gewünschte Ergebnis zu erhalten
- Es gibt einige Tippfehler in Ihrem Code. z.B:
range1
Anstatt vonrange
. [Dies wurde in einer Bearbeitung durch einen Benutzer behoben] - Du benutzt
max
auf eine ganze Zahl. So soll nicht max verwendet werden.
Prüfen Sie, ob dies funktioniert
largest = None
for integer in range(1,11):
integer = int(input("Enter integer #%d: " % integer))
if integer % 2 != 0 and (not largest or integer > largest):
largest = integer
if largest is None:
print ("You didn"t enter any odd numbers")
else:
print ("Your largest odd number was: "), str(largest)
Meine Ausgabe teilen
bash$ python test_2.py
Enter integer #1: 2
Enter integer #2: 4
Enter integer #3: 6
Enter integer #4: 8
Enter integer #5: 2
Enter integer #6: 4
Enter integer #7: 6
Enter integer #8: 8
Enter integer #9: 3
Enter integer #10: 9
Your largest odd number was: 9
0 für die Antwort № 4
Ihr Code könnte geändert werden in:
a = Bereich (1,11)
j = len (a) - 2
while j > 0:
if a[j] % 2 == 1:
break
else:
j += 1
print(a[j])
Dies würde Ihr Programm von der größten bis zur kleinsten Zahl durchlaufen. Alles andere sieht gut aus. Mach weiter :)