coin1 = raw_input("Coin1: ")
while coin1 != (10, 20, 50, 100):
    print "That is not a correct coin value"
    coin1 = raw_input("Coin1: ")

Ten bit kodu powinien poprosić użytkownika o wprowadzenie wartości zmiennej "Coin1", sprawdź, czy wartość jest równa 10, 20, 50 lub 100, a jeśli nie jest równa żadnej z tych liczb, powinna powiedzieć Ty, że jest to "nieprawidłowa wartość monety" i poproś o wprowadzenie innej wartości zmiennej "Coin1".

Prosi mnie o wprowadzenie wartości, ale bez względu na to, co wpisuję, nie akceptuje wartości, po prostu mówi mi, że jest to "nieprawidłowa wartość monety".

Próbowałem sprawić, by to pracować przez wiele godzin, dosłownie nie mam pojęcia, co jest nie tak, a jestem początkującym do Pythona. Czy ktoś może pomóc?

-4
user3937516 13 sierpień 2014, 17:14

2 odpowiedzi

Najlepsza odpowiedź

Zmień to:

while coin1 != (10, 20, 50, 100)

Do tego:

while coin1 not in ['10', '20', '50', '100']
0
barak manos 13 sierpień 2014, 13:17

Wkład użytkownika będzie traktowany jako ciąg Pythona, a nie całkowitą. Z != porównujesz coin1 za pomocą krotki int, które nigdy nie będzie równe (ponownie, {x3}} będzie ciągiem).

To sprawdza, czy wejście użytkownika coin1 jest jedną z zaakceptowanych wartości monet:

while coin1 not in ("10", "20", "50", "100"):
    ...
1
Alex Riley 13 sierpień 2014, 13:24