цикл for:invalid syntax
Hе могу запустить цикл for, хотя цикл while хорошо запускает. Выдаёт ошибку invalid syntax и всё. Выделяет двоеточие в конце строки с for.
Kод:
name = input("Как Вас зовут? ") #Берёт значение от пользователя
print ("Привет,", name) #Выводит значение заданное пользователем
#INT - число; FLOAT - число с точкой; STR - строка
number_1 = int(input("Ваше первое число: ")) #Указываем INT для того, чтобы выводилась не строка а число
number_2 = int(input("Ваше второе число: "))
r = number_1 + number_2 #Указываем переменной, что нужно сложить две других переменных
for res:
#Так же можно было указать перед в переменной RES, и преобразовать все переменные в ней как числа
if res >= 50: #Если переменная RES больше или равна 50
if res >= 75: #Если больше 75
print("Ваше число получилось какое-то большое, меняем... Теперь оно равно", res)
res /= 2
continue
else: #Иначе
print("Ещё бы чуть-чуть поменьше... Но мы изменим Ваш результат, теперь Ваше число равняется", res)
res /= 2
continue
elif res < 0: #Если RES меньше 0
print("Не надо таких чисел. Прибавляем!")
res += 100
continue
else: #Иначе срабатывают все оставшиеся сценарии
print("Вы ввели больше 0, но меньше 50. Вы молодец! Ваше число равняется", res)
print("\nСтолько Вам полагается поцелуев!")
while res >= 75: #Цикл WHILE означает "Пока" не достигнет этого условия
res /= 2 #Понижаем эту переменную, чтобы закончить цикл
print ("Вы вводите слишком много. Умерьте свой аппетит. Впрочем... Мы сделали всё за Вас и уменьшаем его до нужного размера. Ваш результат теперь равняется", res)
print ("Столько Вам полагается поцелуев!")
Ответы (1 шт):
Не могли бы вы объяснить что ваша программа должна делать?
Просто цикл for используется для проверки определенного диапазона чисел, букв в слове, слов, объектов в массивах, кортежах, словарях и т.д.
Т.е. в отличии от while он не может повторятся бесконечно.
Примеры :
Для проверки чисел в диапазоне от 0 до 100.
for i in range(0, 101) : # указываем 101 т.к. range не учитывает последнее значение if i%2 == 0 : #делится на 2 без остатка, то есть четное ли оно print(i)
Примечание : переменная i существует только в пределах цикла, то есть нигде в программе, кроме как в этом цикле, вы к ней обратиться не сможете. Это же дает нам возможность использовать ее в других циклах for
Если вам нужно проверить какое-то число, записанное в переменную :
variable = 100 for i in range (0, variable + 1) :#опять же не забываем что последнее значение не учитывается. Также если надо проверить допустим от 0 до 100, а от 10 , то указываем range(10, 100) if i % 3 == 0 : # делится ли оно на 3 без остатка print(i)Если вы проверяете слово :
for i in 'qwerty' : #проверяет каждую букву, можно указать переменную if i == 'q' : print(i) #выведет букву q, если цикл сейчас на нейСписки, кортежи, массивы - неважно :
q = ['q', 'w', 1] for i in q : if i == 'q' : print(i)Если вам нужно проверить какие-то определенные числа, каждое второе например.
w = 100 for i in range(0, w + 1) [::2] : #если я не ошибаюсь, это называется срез. Данная конструкция([начало : конец : шаг ]) также определяет диапазон и шаг. Отсчет начнется с числа которое указано в 'начале'. print(i) : #выводит все четные числа (0, 2, 4, ..., 100). Если указать in range(0, w)[::2], то последним числом будет 98