Как зациклить команду в python
Регистрация: 18.03.2017
Сообщений: 8
Как зациклить блок?
Сорри за глупый вопрос. Как сделать так, чтобы после выполнения блока, программа возвращалась бы на первую строчку с выбором. Подозреваю что через while или функцию. Чтобы после выполнения действия мы бы опять возвращались к вводу числа. Например в этом случае:
name = input("Введите число: ") if name == "1": print ("Введено число ") print("1") if name == "2": print ("Введено число ") print("2")
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
Особенно для кода на Питоне, там ж отступы не просто для красоты.
Последний раз редактировалось Alex11223; 18.03.2017 в 13:11 .
Как зациклить без цикла, покуда захочет пользователь
#Функция преобразует name в число
def name_to_number(name):
if name == «камень»:
name=0
elif name == «бумага»:
name=1
elif name ==»ножницы»:
name=2
elif name ==»спок»:
name=3
elif name ==»ящерица»:
name=4
else:
print(«Запустите сначала»)
sys.exit()
return name
#Функция преобразует number в название предмета
def number_to_name(number):
if number == 0:
number=»камень»
elif number == 1:
number=»бумага»
elif number == 2:
number=»ножницы»
elif number == 3:
number=»ящерица»
elif number == 4:
number=»спок»
return number
#print(number_to_name(1))
def rock_scissors_paper(player_choice):
player_number = name_to_number(player_choice)
comp_number = random.randrange(0,5,1)
comp_choice = number_to_name(comp_number)
print(«Компьютер выбрал:»+comp_choice)
a = (comp_number — player_number) % 3
if a == 2:
a=»Выиграл пользователь»
elif a == 1:
a=»Выиграл компьютер»
else:
a=»Ничья»
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

CheckListBox. Предусмотреть ошибку, если пользователь, не осуществив выбор, захочет пойти дальше
CheckListBox содержит список. Как предусмотреть ошибку, если пользователь не осуществив выбор.

Программа должна запрашивать ввести возраст до тех пор, пока пользователь не введет число. как зациклить можно?
try: m=int(input("введите ваш возраст ")) except ValueError: m=int(input("введите ваш возраст.
Asus K50AF захочет — заработает, не захочет — не заработает
Модель: Asus K50AF После полной разборки и сборки ноутбука через пару дней перестал включаться.
121 / 100 / 79
Регистрация: 30.11.2017
Сообщений: 230
Оформите код нормально. В питоне отступы — часть синтаксиса, а вы их не поставили. Используйте тег
[PYTHON]
1040 / 575 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
Сообщение от Hellen1 
как зациклить без цикла, покуда захочет пользователь
Зачем Вы изобретаете велосипед? Принцип какой-то не использовать циклы?
Такое не возможно, насколько я знаю. Вечный цикл для того и придуман.
Есть вариант с рекурсией, но тут выход по стеку будет.
1 2 3 4 5
def f(): print(100) return f() f()
Регистрация: 21.03.2019
Сообщений: 4
Записей в блоге: 2
Я знаю что отступы.
114 / 22 / 3
Регистрация: 11.09.2017
Сообщений: 141
Записей в блоге: 4
Как вариант.
Просто не знаю что такое ящерица и спок и не знаю кто есть кого может)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
import random data_operation = [ 'камень', 'ножницы', 'бумага', ] player = ' ' counter_pl = 0 counter_comp = 0 #print(data_operation) while player: player = input('>> ') computer = data_operation[random.randint(0,2)] if player: print(player + ' <> ' + computer) if player == computer: print('[Ничья]\n[Player: ' + str(counter_pl) + ']\n[Computer: ' + str(counter_comp) + ']') elif player == data_operation[0] and (computer == data_operation[1]): counter_pl += 1 print('Выиграл игром\n[Player: ' + str(counter_pl) + ']\n[Computer: ' + str(counter_comp) + ']') elif player == data_operation[1] and (computer == data_operation[2]): counter_pl += 1 print('Выиграл игром\n[Player: ' + str(counter_pl) + ']\n[Computer: ' + str(counter_comp) + ']') elif player == data_operation[2] and (computer == data_operation[0]): counter_pl += 1 print('Выиграл игром\n[Player: ' + str(counter_pl) + ']\n[Computer: ' + str(counter_comp) + ']') else: counter_comp += 1 print('Выиграл компьютер\n[Player: ' + str(counter_pl) + ']\n[Computer: ' + str(counter_comp) + ']')
Артём Санников
Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Главная › Языки программирования › Python › Циклы › Цикл while в Python
Цикл while в Python
Как работает цикл while
Цикл while продолжает свою работу пока заданное условие истинно.
Пример
Необходимо вывести цифры от 1 до 10 . Объявляем переменную i и присваиваем ей числовое значение 1 . Далее открываем цикл while и пишем условие: пока переменная i меньше или равна 10 , выводим значение переменной i , а затем увеличиваем значение переменной i на одну единицу.
# Объявляем переменную i = 1 # Запускаем цикл while while iПредотвращение зацикливания while
У каждого цикла while должна быть предусмотрена возможность завершения, чтобы цикл не выполнялся бесконечно. Обычно для завершения цикла используют условия, по завершению которых цикл прекращает работу.
Цикл while с ошибкой
В примере ниже должны быть выведены цифры от 1 до 5 , но этого не произойдёт поскольку цикл написан с ошибкой, а именно не увеличивается значение счётчика (значение переменной i не меняется). Если выполнить этот код, то Python зациклится и будет выполняться бесконечно.
# Объявляем переменную x x = 1 # Запускаем цикл while while xЦикл while без ошибки
Мы уже выяснили, чтобы цикл while работал нужно увеличивать значение счётчика, а именно добавлять к переменной i одну единицу. Это можно сделать двумя способами: i = i + 1 или i += 1
Если сейчас запустить код, то он отработает и выведет цифры от 1 до 5 .
# Объявляем переменную x x = 1 # Запускаем цикл while while xКоманда break и выход из цикла while
Цикл while может работать бесконечно, пока условие истинно. Но чтобы немедленно прервать выполнение оставшегося кода в цикле независимо от условия, нужно использовать команду break
Важный момент: команда break может использоваться в любых циклах Python.
Пример
Необходимо вывести цифры от 1 до 7 . Но как только значение переменной i будет равно 6 нужно прервать работу цикла while командой break .
i = 0 while i < 7: i += 1 if i == 6: break print(i, end=' ') # Вывод в консоли 1 2 3 4 5Команда continue и продолжение цикла while
Цикл while можно прерывать, командой break . Вместо того, чтобы полностью прерывать выполнение цикла без выполнения оставшейся части кода, можно воспользоваться командой continue для возвращения к началу списка и проверке условия.
Пример
Необходимо вывести цифры от 1 до 10 . Но как только значение переменной i будет равно 4 , необходимо будет пропустить это значение используя команду continue в цикле while .
i = 0 while i < 10: i += 1 if i == 4: continue print(i, end=' ') # Вывод в консоли 1 2 3 5 6 7 8 9 10Команда else в цикле while
Команда else в цикле while отвечает за то, что будет выполнено после окончания работы цикла.
Пример
Необходимо вывести цифры от 0 до 9 , а по завершению работы цикла while нужно вывести текст Цикл завершён!
i = 0 while i < 10: print(i, end=', ') i += 1 else: print('Цикл завершён!') # Вывод в консоли 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Цикл завершён!Записи по теме
- Вложенные циклы в Python
- Цикл for в Python
Как зациклить программу в python?
Нужен человек разбирающийся в python хотя бы на базовом уровне. Ситуация следующая. Я только начал учить язык, но столкнулся с маленькой проблемкой. Мне нужно что бы после того как калькулятор сработал, первый вопрос при неправильном ответе дублировался, до тех пор пока ответ будет верный. И так же с вопросом номер два. Вот код программы (там все предельно просто):
a = int( input( "Введи первое значение, бро: ")) b = int( input( "Введи второе значение: ")) what = input( "Введи знак:" ) if what == "+": c = a + b print("Результат:" + str(c)) elif what == "-": c = a - b print("Результат:" + str(c)) elif what == "*": c = a * b print("Результат:" + str(c)) elif what == "/": c = a / b print("Результат:" + str(c)) else: print("Чел, калькултор еще не такой умный =)") running = True for running: slovo = input( "Введи кодовое слово, чел:" ) if slovo == "Дружба": print (str("Не разлей вода")) else: print ("Неправильно, друуг)") running = False slovo2 = input( "Может еще какие нибудь слова?:") if slovo2 == "Учеба": print (str("Да, пойду устроюсь в макдональдс")) else: print ("Век учись, век живи Фориз))")
Я предпринял некоторые попытки решить проблему, как видно в коде, но у меня либо вообще не циклиться, либо циклиться даже при правильном ответе. ("не удивляйтесь что там чистое месево из калькулятора, квеста)")