Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.01.2018, 15:37   #1
Stanluuu
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 11
Репутация: 10
Вопрос Ошибка в коде программы "Угадай число"

Товарищи! Подскажите пожалуйста в чем ошибка? Данный код - игра "угадай число", имеет ограничение в 5 попыток, когда попытки завершаются пишет, что игра окончена, но цикл продолжает дальше работать? Как правильно сделать, чтобы при истечении 5 попыток писалось что игра окончена (если не угадал число) и по нажатию Enter выходила?
Код:

import random
print("\tДобро пожаловать в игру 'Угадай число'!")
print("\nЯ загадал чило от 1 до 100.")
print("Попробуй угадать!.\n")  

the_number = random.randint(1, 100)
guess = int(input("Ваше число: "))
tries = 1

while guess != the_number:
    if guess > the_number:
        print("Меньше...")
    else:
        print("Больше...")
    guess = int(input("Ваше число: "))
    tries += 1
    if tries>=5:
        print("GAME OVER")

print("Вы правы!  Это действительно число", the_number)

input("\n\nДля выхода нажмите Enter.")

Спасибо за помощь!
Stanluuu вне форума   Ответить с цитированием
Старый 11.01.2018, 16:10   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,384
Репутация: 5308
По умолчанию

Цитата:
Сообщение от Stanluuu Посмотреть сообщение
Код:

while guess != the_number:

попробуйте в условие цикла добавить ваш счётчик попыток:
Код:

while guess != the_number and tries<5:

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 11.01.2018, 16:10   #3
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,310
Репутация: 2073

icq: 216409213
По умолчанию

https://docs.python.org/2/reference/...mts.html#break
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 11.01.2018, 16:31   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,384
Репутация: 5308
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
break
ага. можно и так.

в любом случае, нужно ещё после цикла перед
print("Вы правы! Это действительно число", the_number)
написать if и проверить то, то число действительно угадано.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 11.01.2018, 16:51   #5
Stanluuu
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 11
Репутация: 10
По умолчанию

Спасибо большое! Потихоньку разбираюсь, недавно изучаю... Если не тяжело посоветуйте пожалуйста литературу или ресурсы для повышения осведомленности и навыков,а также, если можно, где потренироваться в упражнениях разной сложности.
Stanluuu вне форума   Ответить с цитированием
Старый 11.01.2018, 16:53   #6
Stanluuu
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 11
Репутация: 10
По умолчанию

Вот такой получился работающий код! Пробовал с break, немного не получилось...
Код:

 import random
print("\tДобро пожаловать в игру 'Угадай число'!")
print("\nЯ загадал чило от 1 до 100.")
print("Попробуй угадать!.\n")  

the_number = random.randint(1, 100)
guess = int(input("Ваше число: "))
tries = 1

while guess != the_number and tries<10:
    if guess > the_number:
        print("Меньше...")
    else:
        print("Больше...")
    guess = int(input("Ваше число: "))
    tries += 1
if tries==10:
    print("GAME OVER")

if guess == the_number:
    print("Вы правы!  Это действительно число", the_number)

input("\n\nДля выхода нажмите Enter.")

Stanluuu вне форума   Ответить с цитированием
Старый 11.01.2018, 16:54   #7
Stanluuu
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
попробуйте в условие цикла добавить ваш счётчик попыток:
Код:

while guess != the_number and tries<5:

Спасибо большое! Потихоньку разбираюсь, недавно изучаю... Если не тяжело посоветуйте пожалуйста литературу или ресурсы для повышения осведомленности и навыков,а также, если можно, где потренироваться в упражнениях разной сложности.
Stanluuu вне форума   Ответить с цитированием
Старый 11.01.2018, 16:54   #8
Stanluuu
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Спасибо большое! Потихоньку разбираюсь, недавно изучаю... Если не тяжело посоветуйте пожалуйста литературу или ресурсы для повышения осведомленности и навыков,а также, если можно, где потренироваться в упражнениях разной сложности.
Stanluuu вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Угадай число" на Python. Как написать? Lektorfuja Помощь студентам 3 05.11.2016 21:02
Игра "Угадай число" и вывод списка чемпионов manchester_alan Общие вопросы Delphi 15 09.01.2015 13:44
игра "УГАДАЙ ЧИСЛО" Энди Харрис Кина PHP 0 08.05.2012 10:04
Игра"Угадай число" в Паскале.(вставка таблицы рекордов) valli Помощь студентам 1 03.01.2011 15:04
[Delphi] Игра "Угадай число" Bomber Помощь студентам 15 05.06.2008 09:34


06:02.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru