Mam ten kod, z którym tylko gram, jak jestem nowy w Pythonie, który jest taki:

a = 0
while a < 10:
    a = a + 1
    print("A is Less than 10")

Chcę dodać więcej kodu, który mówi: Jeśli a jest więcej niż 10, ale mniej niż 20, wydrukuj to:
Próbowałem:

a = 0
while a < 10:
    a = a + 1
    print("A is Less than 10")
while a < 20:
    a = a + 1
    print("A is More than 10, but less than 20.")

Ale wszystko, co robi, to drukowanie "A jest więcej niż 10, ale mniej niż 20"
Zasadniczo jest "mniej niż, ale większa niż" funkcja w Pythonie? Przy okazji biegam wersję 3.

13
Aiden 1 grudzień 2013, 08:01

2 odpowiedzi

Najlepsza odpowiedź
while 10 < a < 20:
    whatever

To nie działa w większości języków, ale Python to obsługuje. Należy pamiętać, że prawdopodobnie powinieneś użyć pętli for:

for a in range(11, 20):
    whatever

Lub jeśli chcesz przetestować pojedynczy numer, a nie zapętlić, użyj if:

if 10 < a < 20:
    whatever

Uważaj za warunki brzegowe. Gdy kończy się pierwsza pętla, a jest ustawiona na 10. (W rzeczywistości jest już ustawiony na 10, gdy wydrukujesz ostatnie "mniej niż 10" wiadomości.) Jeśli natychmiast sprawdzasz, czy jest większy niż 10, znajdziesz to nie.

35
user2357112 supports Monica 2 grudzień 2013, 21:07

W Pythonie możesz nawet pisać

while 10 < a < 20:
    do_smth()
3
Mihai Maruseac 1 grudzień 2013, 04:04