Форум сайта python.su
Суть всей проблемы такова - программа выполняет по сути своей простые действия и я умом понимаю, что может быть короче, но не знаю, как это сделать. Да и просто замечания по нему будут очень полезны.
import random
print(“Приветствую!”)
print(“Как вас зовут?”)
user_name = input()
print(“Я загадываю число от 1 до 100. Ты угадываешь.”)
print('Введите число попыток либо “нет” для отказа')
control = 0
dele = “; ”
while 1:
controller = input()
if controller == “нет”:
print(“Вы отказались от счетчика попыток”)
break
try:
controller = int(controller)
control = 1
break
except ValueError:
print(“Повторите попытку, вы ввели не число”)
my_number = random.randint(1,100)
display_variants =
difference = “0”
counter = 0
while controller == “нет” or controller > 0:
counter += 1
if counter > 1:
print(“История:”,''.join(display_variants),)
if control == 1:
controller = controller - 1
print(“Осталось”,controller,“попыток”)
print(“Введите число”)
your_number = input()
display_variants.append(your_number)
try:
your_number = int(your_number)
except ValueError:
print('Это похоже на числа?!')
display_variants.append(dele)
continue
if your_number < 1:
print(“Читай внимательнее - числа в диапозоне от 1 до 100”)
display_variants.append(dele)
continue
if your_number > 100:
print(“Читай внимательнее - числа в диапозоне от 1 до 100”)
display_variants.append(dele)
continue
if your_number > my_number:
difference = “ - слишком много; ”
display_variants.append (difference)
print(“Не так много!”)
continue
if your_number < my_number:
difference = “ - слишком мало; ”
display_variants.append (difference)
print(“БОЛЬШЕ!”)
continue
if your_number == my_number:
difference = “ - в самый раз!”
display_variants.append (difference)
break
if controller>0:
print(“Вы победили!”)
if controller<1:
print(“Вы проиграли, так как исчерпали все попытки.”)
print(“Правильный ответ:”,my_number,)
print(“История вариантов:”,''.join(display_variants),)
print(“Работа программы завершена”)
Отредактировано The_Tsar_of_Anarchy (Сен. 7, 2016 22:50:35)
Прикреплённый файлы: _Try to guess the number_.py (2,5 KБ)
Офлайн
The_Tsar_of_AnarchyВ принципе, нареканий нет. Теперь надо учиться структурному программированию. То есть у тебя должны быть подпрограммы, которые вызываются другой подпрограммой.
Да и просто замечания по нему будут очень полезны.
главная_программа:
вывести_приветствие()
имя = ввести_имя()
вывести_правила_игры()
запустить_основной_диалог(имя)
главная_программа()
Отредактировано py.user.next (Сен. 8, 2016 02:30:30)
Офлайн
The_Tsar_of_Anarchyprint('Введите число попыток либо “нет” для отказа') control = 0 dele = “; ” while 1: controller = input()
input('Введите число попыток либо “нет” для отказа')
if not 1 <= your_number <= 100: pass
difference = “ - слишком много; ” display_variants.append (difference)
display_variants.append (“ - слишком много; ”)
max_try=input("mt") for i in range(max_try): ... if val == number: print("ok") break else: print("fail")
Офлайн