Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/165: Рейтинг темы: голосов - 165, средняя оценка - 4.57
 Аватар для PhoeniX_4
8 / 8 / 3
Регистрация: 01.06.2011
Сообщений: 177

Угадывание числа с 10 попыток

01.12.2014, 09:39. Показов 35935. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, дамы и господа. Учусь "питонить" и никак не могу допетрить что я в данном коде делаю не так:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
print("Поиграем. Я загадал число от 1 до 100. Попробуй угадай.")
print("Я буду давать подсказки")
the_number = random.randint(1, 100)
vib = int(input("Ваше предположение: "))
pop = 10
while vib != the_number:
    while pop > 0:
        if vib > the_number:
            print("Меньше...")
        else:
            print("Больше...")
        vib = int(input("Ваше предположение: "))
        pop -= 1
    print("Ты истратил все попытки, никчемный смертный")
print("Красава!")
В общем, каждый раз, когда я дохожу до нужного числа во время все еще действующих попыток, он все равно пишет "больше" или "меньше" именно на загаданном им же самим числе. Откритикуйте, пожалуйста, что делаю не так
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2014, 09:39
Ответы с готовыми решениями:

Угадывание числа
нужно написать программу в microsoft visial c++.ее конечный результат должен выглядеть вот так; pick a number from 1 to 10 1 ...

Угадывание числа
Всем привет, нужна помощь. Только учусь программировать, пиши программу которая будет писать что ты например угадал номер. Тоесть в...

Угадывание числа. Помогите.
Передо мной встала такая проблемка. Нужно написать такую программу, в которой пользователь вводит какое-либо число(от 0 - до 10) и...

12
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
01.12.2014, 10:20
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
print("Поиграем. Я загадал число от 1 до 100. Попробуй угадай.")
print("Я буду давать подсказки")
the_number = random.randint(1, 100)
vib = int(input("Ваше предположение: "))
pop = 10
while vib != the_number:
    if vib > the_number:
        print("Меньше...")
    else:
        print("Больше...")
    vib = int(input("Ваше предположение: "))
    pop -= 1
if vib != the_number:
    print("Ты истратил все попытки, никчемный смертный")
else:
    print("Красава!")
Добавлено через 2 минуты
Что было не так - во внутреннем цикле не было никакой проверки на то правильное ли число ввели или нет.

Добавлено через 1 минуту

Не по теме:

тут слишком простой вариант, вот то что действительно стоит внимания http://govnokod.ru/17226

0
 Аватар для PhoeniX_4
8 / 8 / 3
Регистрация: 01.06.2011
Сообщений: 177
01.12.2014, 11:07  [ТС]
Код, написанный в "говнокоде" написан мною же) Но мне нужно улучшить его, добавив ограниченное количество попыток...я пока только учусь...не могли бы вы помочь?

Добавлено через 1 минуту
А вижу...не сразу обратил внимание на код) Спасибо

Добавлено через 6 минут
И кстати все равно после 10 неверных попыток программа продолжает работать. Что не так?
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
01.12.2014, 11:25
Лучший ответ Сообщение было отмечено PhoeniX_4 как решение

Решение

виноват.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
print("Поиграем. Я загадал число от 1 до 100. Попробуй угадай.")
print("Я буду давать подсказки")
the_number = random.randint(1, 100)
vib = int(input("Ваше предположение: "))
pop = 10
while vib != the_number:
    if vib > the_number:
        print("Меньше...")
    else:
        print("Больше...")
    if pop == 0:
        break
    vib = int(input("Ваше предположение: "))
    pop -= 1
 
if vib != the_number:
    print("Ты истратил все попытки, никчемный смертный")
else:
    print("Красава!")
1
 Аватар для PhoeniX_4
8 / 8 / 3
Регистрация: 01.06.2011
Сообщений: 177
01.12.2014, 11:49  [ТС]
Хм...странно...у меня сработал только со второго раза этот вариант...видимо еще долго руки из забницы в плечи вправлять буду. И тем не менее - спасибо за помощь)
0
0 / 0 / 0
Регистрация: 22.10.2016
Сообщений: 2
22.10.2016, 11:19
помогите разобраться почему у меня аналогичная программа не работает?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# -*- coding=utf8 -*-
import random
secret = random.randint(1, 99)
guess = 0
tries = 0
print "Отгадай число от 1 до 99 за 6 попыток!"
while guess != secret and tries < 6:
    guess = int(input("Твой вариант?"))
    if guess < secret
        print "Это слишком мало"
 
    if guess > secret
        print "Это слишком много"
    tries = tries + 1
if guess == secret
    print "угадал!"
else
    print "попытки кончились это число ", secret
0
2 / 2 / 2
Регистрация: 09.12.2012
Сообщений: 24
22.10.2016, 11:51
Цитата Сообщение от Djuz Посмотреть сообщение
помогите разобраться почему у меня аналогичная программа не работает?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding=utf8 -*-
import random
secret = random.randint(1, 99)
guess = 0
tries = 0
print("Отгадай число от 1 до 99 за 6 попыток!")
while guess != secret:
    guess = int(input("Твой вариант? > "))
    if guess < secret:
        print("Это слишком мало")
    elif guess > secret:
        print("Это слишком много")
    elif guess == secret:
        print("угадал!")
        break
    tries += 1
    if tries == 6:
        print("Попытки кончились!")
        break
input("Press Enter to continue!")
1
0 / 0 / 0
Регистрация: 22.10.2016
Сообщений: 2
22.10.2016, 12:30
Спасибо!
Оказывается у меня множество ошибок синтаксиса было, кроме ошибок кода... мой вариант без ошибок синтаксиса тоже почти работает)
0
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
23.10.2016, 01:37
Здесь может пригодиться конструкция while True:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding=utf8 -*-
import random
secret = random.randint(1, 99)
print("Отгадай число от 1 до 99 за 6 попыток!")
tries = 6
while True:
    if tries == 0:
        print("Попытки кончились!")
        break
    guess = int(input("Твой вариант? > "))
    tries -= 1
    if guess < secret:
        print("Это слишком мало")
    elif guess > secret:
        print("Это слишком много")
    elif guess == secret:
        print("угадал!")
        break
input("Press Enter to continue!")
0
-1 / 0 / 0
Регистрация: 14.08.2024
Сообщений: 16
21.08.2024, 10:27
Python
1
2
3
4
5
6
7
8
9
10
11
12
import random
k=int(input("guess the number..."))
rand=random.randint(1,10)
print(rand)
if k>rand:
    print("too much,try again")
elif k<rand:
    print("too little,try again")
while k==rand:
    print("congra!!!")
    k = int(input("guess the number..."))
    rand = random.randint(1, 10)
0
Vęłūm Vèřům
 Аватар для Zuria
31 / 35 / 1
Регистрация: 26.06.2024
Сообщений: 164
21.08.2024, 11:18
Arthur999, лишний дубль: 2 = 11 и 3 ==12, а также в оригинале число до 100, а не 10.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
 
rand = random.randint(1, 100)
max_tries = 10
 
for tries in range(max_tries):
    k = int(input(f"Try {tries + 1}/{max_tries}: Guess the number between 1 and 100: "))
    
    if k > rand:
        print("Too high, try again.")
    elif k < rand:
        print("Too low, try again.")
    else:
        print("Congratulations!!!")
        break
else:
    print(f"Sorry looser! The number was {rand}.")
2
 Аватар для Aviz__
2744 / 2053 / 507
Регистрация: 17.02.2014
Сообщений: 9,472
26.08.2024, 06:56
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import random
 
def get_user_guess(attempt, max_attempts):
    while True:
        try:
            guess = int(input(f"Attempt {attempt}/{max_attempts}: Enter your guess (1-100): "))
            if 1 <= guess <= 100:
                return guess
            print("Invalid input. Please enter a number between 1 and 100.")
        except ValueError:
            print("Invalid input. Please enter an integer.")
 
def main():
    secret_number = random.randint(1, 100)
    max_attempts = 10
 
    for attempt in range(max_attempts):
        guess = get_user_guess(attempt, max_attempts)
        
        if guess > secret_number:
            print("Too high.")
        elif guess < secret_number:
            print("Too low.")
        else:
            print("Congratulations! You've guessed the number.")
            return
        
    print(f"Game over. The secret number was {secret_number}.")
 
if __name__ == "__main__":
    main()
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6197 / 2898 / 1043
Регистрация: 01.06.2021
Сообщений: 10,647
26.08.2024, 23:40
Цитата Сообщение от vrm2 Посмотреть сообщение
secret = random.randint(1, 99)
print("Отгадай число от 1 до 99 за 6 попыток!")
tries = 6
такая реализация лохотрон и издевательство над людьми. Для такого диапазона нужно дать 7 попыток

https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\lceil \log _2(99)\right\rceil = 7
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.08.2024, 23:40
Помогаю со студенческими работами здесь

Угадывание целого числа
При угадывании целого числа в некотором диапазоне было получено 6 бит информации. Сколько чисел содержит этот диапазон?

Угадывание числа. Консольное приложение
Помогите, пожалуйста, составить программу: В этой лабораторной работе требуется создать программу, которая угадывает число, загаданное...

Не работает программа на угадывание числа
Я изучаю c++, написал программу она должна загадать число, напечатать (чтобы не гадал во время теста програмы) Я его угадываю, в...

Программа «игра» - угадывание числа
Программа «игра» - угадывание числа. ПК загадывает случайное целое число (0-20). Пользователь угадывает число. RadioButton и кнопка...

Исправление ошибок. Угадывание числа
какой должен быть результат. для ввода нажмите Enter для завершения Esc ваш вариант -&gt; 123 Угадано: 0. на своих местах: 0 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru