Обьясните новичку как создавать циклы?

Приветствую всех!У меня проблема, я не понимаю как создавать циклы, что надо сделать чтобы при неправильных условиях откидывало на нужную строчку кода?
Я хотел создать мини текстовую игру.Но для того чтобы она была хорошей (в моём понимании) надо сделать цикличность.Чтобы если человек назвал не то число его откидывало назад чтобы он написал правильно и писало насколько он приблизительно близок к верному числу.Делаю на Python.Пробовал через while-не понимаю как работает.Будьте добры разьяснить в чём дело.
print ('Хай')
print ('Давай сыграем в игру?')
what = input('Да, Нет')
if what == 'Нет':
    print ('Тогда пока')

if what == 'Да':
    print ('Хорошо')
print ('Я загадываю число а ты отгадываешь.Если ты отгадываешь число то ты молодец и возьми конфетку,если нет то ты не молодец')
number = input('Введи сюда число')

number =='20'
if number == '20':
    print ('Молодец,возьми конфетку!')
elif number >'15' and number <'20':
    print ('Маловато будет')
elif number >'20' and number <'30':
    print ('Многовато будет')
elif number >='30':
    print ('Слишком много')
elif number <='15':
    print ('Слишком мало')
import time
time.sleep(5)
  • Вопрос задан
  • 414 просмотров
Решения вопроса 1
@Ic2d
Самоучка:)
Создай бесконечный цикл. И прерви его по правильному ответу.

import time

print ('Хай \n \t Давай сыграем в игру?')
what = input('Да, Нет\n')
if what.lower() == 'нет': #приводим все к нижнему регистру чтоб капитализация не влияла
	print ('Тогда пока')

elif what.lower() == 'да':
	print ('Хорошо')
	print ('Я загадываю число а ты отгадываешь.Если ты отгадываешь число то ты молодец и возьми конфетку,если нет то ты не молодец')

	while True: #Бесконечный цикл
		number = input('Введи сюда число \n\t Введи exit для выхода: \n')
		
		if number.lower() == 'exit': #Выходим если ввели exit и сравниваем все это в нижнем регистре
			print ('Пока:)')
			break
		elif number == '20':
			print ('Молодец,возьми конфетку!')
			break #Прерывание бесконечного цикла
		elif number > '15' and number <'20':
			print ('Маловато будет')
		elif number > '20' and number <'30':
			print ('Многовато будет')
		elif number >= '30':
			print ('Слишком много')
		elif number <='15':
			print ('Слишком мало')

		time.sleep(5) #А оно нужно?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Классическая игра, ее или аналоги делал каждый программист
import random

print ("Хай")
print ("Давай сыграем в игру?")
what = input("Да, Нет: ")
if what == "Нет":
    print ("Тогда пока")    

if what == "Да":
  print ("Хорошо")
  print ("Я загадываю число а ты отгадываешь.Если ты отгадываешь число то ты молодец и возьми конфетку,если нет то ты не молодец")

  secretNumber = random.randint(1,100)

  steps = 0;

  while True:
    steps += 1
    number = int(input("Введи сюда число: "))

    if number > secretNumber:
      print("Слишком большое");
    elif number < secretNumber:
      print("Слишком маленькое");
    else:
      print("Молодец, загадонное число было " + str(secretNumber) + ". Ушло попыток: " + str(steps))
      break
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы