цикл 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 шт):

Автор решения: FOX_i_K

Не могли бы вы объяснить что ваша программа должна делать?

Просто цикл for используется для проверки определенного диапазона чисел, букв в слове, слов, объектов в массивах, кортежах, словарях и т.д.

Т.е. в отличии от while он не может повторятся бесконечно.

Примеры :

  1. Для проверки чисел в диапазоне от 0 до 100.

    for i in range(0, 101) : # указываем 101 т.к. range не учитывает последнее значение
       if i%2 == 0 : #делится на 2 без остатка, то есть четное ли оно
       print(i)
    

Примечание : переменная i существует только в пределах цикла, то есть нигде в программе, кроме как в этом цикле, вы к ней обратиться не сможете. Это же дает нам возможность использовать ее в других циклах for

  1. Если вам нужно проверить какое-то число, записанное в переменную :

    variable = 100
    for i in range (0, variable + 1) :#опять же не забываем что последнее значение не учитывается. Также если надо проверить допустим от 0 до  100, а от 10 , то указываем range(10, 100) 
       if i % 3 == 0 : # делится ли оно  на 3 без остатка
    
        print(i)
    
  2. Если вы проверяете слово :

    for i in 'qwerty' : #проверяет каждую букву, можно указать переменную
       if i == 'q' :
         print(i) #выведет букву q, если цикл сейчас на ней
    
  3. Списки, кортежи, массивы - неважно :

      q = ['q', 'w', 1]
      for i in q :
          if i == 'q' :
              print(i)
    
  4. Если вам нужно проверить какие-то определенные числа, каждое второе например.

       w = 100
       for i in range(0, w + 1) [::2] : #если я не ошибаюсь, это называется срез. Данная конструкция([начало : конец : шаг ]) также определяет диапазон и шаг. Отсчет начнется с числа которое указано в 'начале'. 
            print(i) : #выводит все четные числа (0, 2, 4, ..., 100). Если указать in range(0, w)[::2], то последним числом будет 98
    
→ Ссылка