Поменяйте мальчика и компьютер из прошлой задачи местами. Теперь мальчик загадывает число между 1 и 100 (включительно). Компьютер может спросить у мальчика: «Твое число равно, меньше или больше, чем число N?», где N — число, которое хочет проверить компьютер. Мальчик отвечает одним из трёх чисел: 1 — равно, 2 — больше, 3 — меньше.
Напишите программу, которая с помощью цепочки таких вопросов и ответов мальчика угадывает число.
Дополнительно: сделайте так, чтобы можно было гарантированно угадать число за семь попыток.
Python
Задача 10. Игра «Компьютер угадывает число» язык кода Python помогите пожалуйста
Начинаем с числа 64
до него 63 варианта, после него 35 вариантов ( "округляем" до 63 )
По получении ответа делим "варианты на 3 группы
31 число, 1 число, 31 число
итд (15/1/15, 7/1/7, 3/1/3, 1/1/1 )
Получается за 6 вопросов гарантированно "угадываем"
до него 63 варианта, после него 35 вариантов ( "округляем" до 63 )
По получении ответа делим "варианты на 3 группы
31 число, 1 число, 31 число
итд (15/1/15, 7/1/7, 3/1/3, 1/1/1 )
Получается за 6 вопросов гарантированно "угадываем"
Михаил Титов
ну ты компьютер))
Андрей Редин
ну как же без ДЦП ?)))
https://pastebin.com/uZuHenkD
g=50;l=[25,12,6,3,2,1,1];s="Твое число равно, меньше или больше, чем число %s?"
while l:
print(s%g);i=input()
if i=='1':print('Твое число -',g);break
else:g+=l.pop(0)*{'2':1,'3':-1}[i]
print('Твое число -',g)
P.S. заменив и игрока тоже на компьютер, проверил - угадывает все правильно и не больше, чем за 7 шагов
g=50;l=[25,12,6,3,2,1,1];s="Твое число равно, меньше или больше, чем число %s?"
while l:
print(s%g);i=input()
if i=='1':print('Твое число -',g);break
else:g+=l.pop(0)*{'2':1,'3':-1}[i]
print('Твое число -',g)
P.S. заменив и игрока тоже на компьютер, проверил - угадывает все правильно и не больше, чем за 7 шагов
просто скопируй!
import random
guessesTaken = 0
print("Желаешь разбогатеть, друг?")
myName = input("скажи имя!:")
number = random.randint(1,20)
print("Ну тогда приступим? "+myName+", я загадал число от одного до 20")
while guessesTaken < 6:
print("Как ты думаешь, какое?") #Перед функцией print() должно быть 4 пробела
guess = input()
guess = int(guess)
guessesTaken = guessesTaken+1
if guess < number:
print("Мое число больше твоего") #Перед функцией print() должно быть 8 пробелов
if guess > number:
print("Мое число меньше твоего")
if guess == number:
break
if guess == number:
guessesTaken = str(guessesTaken)
print("Превосходно "+myName+"! Ты угадал число с "+guessesTaken+" попытки. Твой выигрыш 10 очков.")
if guess != number:
number = str(number)
print("Жаль, но у тебя не осталось попыток. Я загадал число "+number+". Ты проиграл… Эй! Вы! Двое! Живо! Снимите ка с него шкуру!")
import random
guessesTaken = 0
print("Желаешь разбогатеть, друг?")
myName = input("скажи имя!:")
number = random.randint(1,20)
print("Ну тогда приступим? "+myName+", я загадал число от одного до 20")
while guessesTaken < 6:
print("Как ты думаешь, какое?") #Перед функцией print() должно быть 4 пробела
guess = input()
guess = int(guess)
guessesTaken = guessesTaken+1
if guess < number:
print("Мое число больше твоего") #Перед функцией print() должно быть 8 пробелов
if guess > number:
print("Мое число меньше твоего")
if guess == number:
break
if guess == number:
guessesTaken = str(guessesTaken)
print("Превосходно "+myName+"! Ты угадал число с "+guessesTaken+" попытки. Твой выигрыш 10 очков.")
if guess != number:
number = str(number)
print("Жаль, но у тебя не осталось попыток. Я загадал число "+number+". Ты проиграл… Эй! Вы! Двое! Живо! Снимите ка с него шкуру!")
Андрей Редин
говнокодер, ты проверил свой код, прежде чем его отправить ?
start = int(1)
finish = int (100)
number_attempts = 0
while number_attempts <= 7 :
number_attempts += 1
n = (start + finish) // 2
print("Число n равно: ", n)
prompt = int(input("Твоё число равно, меньше или больше, чем n "))
if prompt == 1 :
print("Урра! Угадал! с ", number_attempts, "попытки")
break
elif prompt == 2 :
finish = n
elif prompt == 3 :
start = n
finish = int (100)
number_attempts = 0
while number_attempts <= 7 :
number_attempts += 1
n = (start + finish) // 2
print("Число n равно: ", n)
prompt = int(input("Твоё число равно, меньше или больше, чем n "))
if prompt == 1 :
print("Урра! Угадал! с ", number_attempts, "попытки")
break
elif prompt == 2 :
finish = n
elif prompt == 3 :
start = n
start = 1
finish = 100
count = 0
while count <= 7:
number = (start + finish) // 2
print('Загаданное число равно, меньше или больше', number)
answer = int(input('1 - равно, 2 - больше, 3 - меньше '))
count += 1
if answer == 1:
print("Ура! Угадал! с", count, "попытки.")
break
elif answer == 2:
start = number
elif answer == 3:
finish = number
finish = 100
count = 0
while count <= 7:
number = (start + finish) // 2
print('Загаданное число равно, меньше или больше', number)
answer = int(input('1 - равно, 2 - больше, 3 - меньше '))
count += 1
if answer == 1:
print("Ура! Угадал! с", count, "попытки.")
break
elif answer == 2:
start = number
elif answer == 3:
finish = number
start = 1
finish = 100
count = 0
while count <= 7:
__number = (start + finish) // 2
__print('Загаданное число равно, меньше или больше', number)
__answer = int(input('1 - равно, 2 - больше, 3 - меньше '))
__count += 1
__if answer == 1:
____print("Ура! Угадал! с", count, "попытки.")
____break
__elif answer == 2:
____start = number
__elif answer == 3:
____finish = number
finish = 100
count = 0
while count <= 7:
__number = (start + finish) // 2
__print('Загаданное число равно, меньше или больше', number)
__answer = int(input('1 - равно, 2 - больше, 3 - меньше '))
__count += 1
__if answer == 1:
____print("Ура! Угадал! с", count, "попытки.")
____break
__elif answer == 2:
____start = number
__elif answer == 3:
____finish = number
Азамат Махаев
Супер! коротко и четко!
start = 0
finish = 101
count = 0
while True:
N = (start + finish) // 2
print('Загаданное число равно, меньше пли больше', N)
answer = int(input('1 - равно, 2 - меньше, 3-больше '))
count += 1
if answer == 1:
print('Я угадал! Ура! c', count, 'попытки')
break
elif answer == 2:
finish = N
elif answer == 3:
start = N
finish = 101
count = 0
while True:
N = (start + finish) // 2
print('Загаданное число равно, меньше пли больше', N)
answer = int(input('1 - равно, 2 - меньше, 3-больше '))
count += 1
if answer == 1:
print('Я угадал! Ура! c', count, 'попытки')
break
elif answer == 2:
finish = N
elif answer == 3:
start = N
Юрий Павлов
Не работает должным образом, например если загадали число 60:
Загаданное число равно, меньше пли больше 50
1 - равно, 2 - меньше, 3-больше 3
Загаданное число равно, меньше пли больше 75
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 62
1 - равно, 2 - меньше, 3-больше 3
Загаданное число равно, меньше пли больше 68
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 65
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 63
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 62
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 62
1 - равно, 2 - меньше, 3-больше
Загаданное число равно, меньше пли больше 50
1 - равно, 2 - меньше, 3-больше 3
Загаданное число равно, меньше пли больше 75
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 62
1 - равно, 2 - меньше, 3-больше 3
Загаданное число равно, меньше пли больше 68
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 65
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 63
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 62
1 - равно, 2 - меньше, 3-больше 2
Загаданное число равно, меньше пли больше 62
1 - равно, 2 - меньше, 3-больше
Alexandr Мазурок
вы проверяете свой код, прежде чем отправить ?
куда код вводить
?
?
Фазлиддин Темиров
в паскаль мб
Алексей Бацких
ctrl+f4
Похожие вопросы
- Python. Помогите пожалуйста с кодом
- Написать код, прошу помогите пожалуйста на python
- Python.Помогите пожалуйста!!! Очень тяжёлая задача!
- Задача на python Помогите пожалуйста
- Python, помогите, пожалуйста
- Python помогите пожалуйста
- Python, помогите пожалуйста
- Python задача "Игра с числами"
- Помогите, пожалуйста, решить задачу Python
- Язык Python, помочь с кодом (не много)