Игра в числа НАОБОРОТ
Пользователь загадывает, компьютер отгадывает, нельзя использовать random, нужно использовать циклы. Ввод: Загадайте число: 5, Ответ: Вы загадали число 5 (print нельзя, так слишком легко), PYTHON
Ответы (1 шт):
Автор решения: Werryx
→ Ссылка
Вы хотели так?:
# Тут можете использовать try/except ValueError
a = int(input("Введите число: "))
i = 0
while True:
if i == a:
print("Ваше число:", str(i))
break
elif i * -1 == a:
print("Ваше число:", str(i * -1))
break
i += 1
Версия с tkinter:
from tkinter import Tk, Label
# Тут можете использовать try/except ValueError
a = int(input("Введите число: "))
i = 0
while True:
if i == a:
break
elif i * -1 == a:
i *= -1
break
i += 1
root = Tk()
l = Label(text = "Ваше число: " + str(i))
l.pack()
root.mainloop()
Версия с tkinter (v2):
from tkinter import Tk, Label, Entry, Button, StringVar
def nazvanie(a):
i = 0
while True:
if i == a:
break
elif i * -1 == a:
i *= -1
break
i += 1
return [str(a), str(i)]
root = Tk()
root.geometry("270x50")
l2 = ""
tv = StringVar(root)
def result(num):
global l2
try:
l2.unpack()
except AttributeError:
pass
try:
num = int(num)
except ValueError:
return
b = nazvanie(num)
l2 = Label(root, text = "Число: " + b[1])
l2.grid(column = 0, row = 1)
l = Label(root, text = "Введите число:")
l.grid(column = 0, row = 0)
a = Entry(root, textvariable = tv)
a.grid(column = 1, row = 0)
btn = Button(root, text = "Угадать", command = lambda r = tv: result(r.get()))
btn.grid(column = 2, row = 0)
root.mainloop()
Версия с Exception:
# Тут можете использовать try/except ValueError
a = int(input("Введите число: "))
i = 0
while True:
if i == a:
raise Exception("Ваше число: " + str(i))
break
elif i * -1 == a:
raise Exception("Ваше число: " + str(i * -1))
break
i += 1