Kontrola poprawności podawanych przez użytkownika wartości

Kontrola poprawności podawanych przez użytkownika wartości
Beata Griškevič
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 6 lat
  • Postów:40
0

Witam. Mam proste zadanie, ale jako że tylko rozpoczęłam programować i uczę się, nie wiem, jak to napisać.

Program prosi użytkownika wprowadzić ID, ale jeśłi jest on nierówny 4001, prosi zrobić to ponownie, aż dopóki użytkownik nie wpisze 4001.

Kopiuj
port_ID = int(input("Wprowadz ID: "))
if port_ID != 4001:

dalej chcę, aby program prosił ponownie wprowadzić ID aż dopóki nie będzie on równy 4001.

Pyxis
  • Rejestracja:około 8 lat
  • Ostatnio:około 6 godzin
1

No to po co ma wpisać w pętli, skoro wiesz, że to ID to ma być dokładnie równe 4001?

lion137
Bo 4001 to sekretne hasło:)
koszalek-opalek
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 3 lata
1
Beata Griškevič napisał(a):

Witam. Mam proste zadanie, ale jako że tylko rozpoczęłam programować i uczę się, nie wiem, jak to napisać.

Program prosi użytkownika wprowadzić ID, ale jeśłi jest on nierówny 4001, prosi zrobić to ponownie, aż dopóki użytkownik nie wpisze 4001.

Kopiuj
port_ID = int(input("Wprowadz ID: "))
if port_ID != 4001:

dalej chcę, aby program prosił ponownie wprowadzić ID aż dopóki nie będzie on równy 4001.

Oprócz tego, co mówili Koledzy, jeśli ten ID nie ma być (logicznie) liczbą, to lepiej darować sobie int i napisać:

Kopiuj
while True:
    port_ID = input("Wprowadz ID: ")
    if port_ID == "4001":
        break

Dzięki temu nie masz problemu, gdy ktoś napisze blabla zamiast liczby...

AF
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 miesiące
  • Postów:172
1

albo:

Kopiuj
port_ID = ""
while port_ID!="4001":
    port_ID = input("Wprowadz ID: ")

lub nawet

Kopiuj
while input("wprowadz id:")!="4001":
    ()

Ale to oczywiście tylko warianty tego samego. Jeżeli zależy Ci użytkownik wiedział, że może tylko wprowadzać int możesz zrobić:

Kopiuj

while True:
    try:
        port_ID = int(input("Wprowadz ID: "))
        if port_ID == 4001:
           break
    except ValueError:
        print("Wprowadzaj tylko liczby")
        continue

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.