Условие выполняется тогда, когда не должно

Arschik

Новичок
Пользователь
Апр 5, 2020
6
0
1
Почему при запуске кода происходит ошибка, показанная на скрине?
Почему данный текст вылазит даже тогда, когда условие не выполняется?
Ниже представлен код и скрин.


Python:
num = 0
speed = []
c = 0
num2 = 0
num = int(input("Введите количество автомобилей: "))
def условие1():
    print("Количество автомобилей не может быть меньше 1 и превышать 30!")
    print()
    global num
    num = 0
    num = int(input("Введите количество автомобилей: "))
while num < 1 or num > 30:
    условие1()
def условие2():
    print("Скорость не должна превышать 300 и быть меньше 1")
    global speed
    global c
    speed.pop()
    c-=1
    c+=1
    speed.append(int(input("Введите скорость {} автомобиля: ".format(c))))

for i in range(num):
    c+=1
    speed.append(int(input("Введите скорость {} автомобиля: ".format(c))))
    for i in speed:
        while i < 1 or i > 300:
            условие2()
        if i < 30:
            num2 +=1
print(max(speed)-min(speed))
print(num2)

П 1586089743633.png
 
Последнее редактирование:

Arschik

Новичок
Пользователь
Апр 5, 2020
6
0
1
Опиши как её решили. Возможно поможете другим.
Да я зачем-то поставил while, когда нужно было if
 

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
Проблема уже решена

Опиши как её решили. Возможно поможете другим.
 

Форум IT Специалистов