Найти - Пользователи
Полная версия: Оптимизация кода
Начало » Python для новичков » Оптимизация кода
1
The_Tsar_of_Anarchy
Суть всей проблемы такова - программа выполняет по сути своей простые действия и я умом понимаю, что может быть короче, но не знаю, как это сделать. Да и просто замечания по нему будут очень полезны.
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(“Работа программы завершена”)
py.user.next
The_Tsar_of_Anarchy
Да и просто замечания по нему будут очень полезны.
В принципе, нареканий нет. Теперь надо учиться структурному программированию. То есть у тебя должны быть подпрограммы, которые вызываются другой подпрограммой.

главная_программа:
вывести_приветствие()
имя = ввести_имя()
вывести_правила_игры()
запустить_основной_диалог(имя)

главная_программа()
doza_and
The_Tsar_of_Anarchy
 print('Введите число попыток либо “нет” для отказа')
control = 0
dele = ; 
while 1:
controller = input()

Разделять не обязательно
 input('Введите число попыток либо “нет” для отказа')

допустимо
 if not 1 <= your_number <= 100:
   pass

А зачем вам continue вообще непонятно. Оно не выполняет никаких действий.

 difference =  - слишком много; 
display_variants.append (difference)
Зачем вам переменная?
 display_variants.append ( - слишком много; )

все игры с counter и controller лишние
 max_try=input("mt")
for i in range(max_try):
    ...
    if val == number:
        print("ok")
        break
else:
   print("fail")
если пользователь не тупой то введет 100000 если не хочет ограничений
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB