Python: Wie kann ich prüfen, ob eine Zahl mit der Ziffer 7 endet?

4 Antworten

Von Experte Erzesel bestätigt
eingabe = input()
eingabe = int(eingabe);

if eingabe % 10 == 7:
  print("YES")
else:
  print("NO")
Woher ich das weiß:Berufserfahrung – Programmierer
Ertu4 
Fragesteller
 18.03.2023, 10:31

Vielen Dank ich habe das meiste verstanden. Aber könntest du mir noch sagen, was denn % 10 == 7 bedeutet

0
Zuran57  18.03.2023, 22:59
@Ertu4

Das Prozent ist ein Modulo-Operator. Der wird genutzt, um den Rest von einer Division zu bekommen. In unserem Fall eingabe / 10, wenn der Rest 7 entspricht, ist die letzte Ziffer 7.

1

Du kannst die Länge der Zahl ermitteln mit len(deine Zahl) und dann mit variablenname[ergebnis aus der ersten Abfrage] die letzte zahl erhalten. Dann musst du das nur noch auf istSieben? überprüfen und dementsprechend denn boolean zurückgeben.

e = input("Geben Sie eine Zahl ein: ")
if e[-1] == "7":
    print("yes")
else:
    print("no")

man könnte zum schluss noch einen input machen

Erzesel  17.03.2023, 16:40

Soweit richtig, aber würde auch true zurckliefern, wenn (statt eines Integer) ein beliebiger String mit einer 7 als letztes Zeichen eingegeben wird...

"blubb7" liefert hier auch "yes", was natürlich falsch ist, weil bereits die Bedingung, das die Eingabe ein Integer sein soll nicht wahr ist...

1