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

Kontrola poprawności podawanych przez użytkownika wartości
Beata Griškevič
  • Rejestracja: dni
  • Ostatnio: dni
  • 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.

  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj

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

Można na przyklad w taki sposob to zrobić.

Pyxis
  • Rejestracja: dni
  • Ostatnio: dni
1

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

koszalek-opalek
  • Rejestracja: dni
  • Ostatnio: dni
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: dni
  • Ostatnio: dni
  • 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.