Сгенерировать случайное число.
Ввести счетчик попыток. Присвоить ему значение 1.
Пока счетчик попыток меньше, либо равен 10
запрашивать у пользователя очередное число,
если оно больше загаданного, то выводить «много»,
если оно меньше загаданного, то выводить «мало»,
иначе сообщать, что число угадано и прерывать выполнение цикла,
увеличивать счетчик попыток на единицу.
После цикла, если число не было угадано, то вывести сообщение о том, что попытки исчерпаны, и какое число было загадано компьютером.
Самый верный способ отгадать число менее чем за 10 попыток — это делить диапазон на 2. Например, если число лежит в пределах от 0 до 100, то введя 50 мы сразу сокращаем диапазон поиска в два раза. Если было сказано, что загаданное число меньше 50-ти, то вводим 25 и таким образом снова сокращаем диапазон в 2 раза.
Если следовать этому правилу то потребуется 6-7 попыток, т.к. число 100 (изначальная длина диапазона) лежит в пределах между 26 и 27.
Ответы на вопросы 2: Генерация случайных чисел. Класс Random
Источник: megaurok.com
В программе генерируется случайное целое число от 0 до 100 .Пользователь должен отгадать его не боле
е чем за 10 попыток .После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем,то, что загадано.Если за 10 попыток число не отгадано, то вывести загаданное число. НА ПИТОНЕ Желательно с пояснениями
Ответы на вопрос
Отвечает Лебединская Арина.
import random #Добавляем модуль для рандомного числа
a=random.randint(1,100) #Создаем это число в промежутке 1
print(‘Это число: ‘ + str(a))
Отвечает Романова Катя.
Код программы, реализующей описанную задачу, может выглядеть так:
python Copy codeimport random # Загадываем случайное число от 0 до 100 number = random.randint(0, 100) # Выводим инструкции для пользователя print(«Отгадайте число от 0 до 100. У вас 10 попыток.») # Цикл для 10 попыток for i in range(10): # Просим пользователя ввести число guess = int(input(«Попытка №<>: «.format(i+1))) # Проверяем, равно ли введенное число загаданному if guess == number: print(«Вы угадали!») break # Если введенное число меньше загаданного elif guess < number: print(«Загаданное число больше.») # Если введенное число больше загаданного else: print(«Загаданное число меньше.») else: # Если цикл отработал полностью (то есть пользователь не угадал за 10 попыток) print(«Вы проиграли. Было загадано число <>.».format(number))
- Импортируем модуль random , который позволяет генерировать случайные числа.
- Генерируем случайное целое число от 0 до 100 и сохраняем его в переменной number .
- Выводим инструкции для пользователя.
- Запускаем цикл for для 10 попыток.
- Просим пользователя ввести число и сохраняем его в переменной guess .
- Проверяем, равно ли введенное число загаданному числу. Если равно, выводим сообщение о выигрыше и выходим из цикла с помощью оператора break .
- Если введенное число меньше загаданного, выводим сообщение о том, что загаданное число больше.
- Если введенное число больше загаданного, выводим сообщение о том, что загаданное число меньше.
- Если цикл for отработал полностью (то есть пользователь не угадал за 10 попыток), выводим сообщение о проигрыше и показываем загаданное число. В этом случае используется оператор else , который выполняется только если цикл не был прерван оператором break .
Источник: uznavalka.pro
Знакомство с JavaScript #6 — Случайные числа
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
Python.Basic-course / lesson-02 / lesson-02_6.py /
Code definitions
Code navigation index up-to-date
- Go to file T
- Go to line L
- Go to definition R
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
33 lines (27 sloc) 1.67 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
»’6. В программе генерируется случайное целое число от 0 до 100. Пользователь |
должен его отгадать не более чем за 10 попыток. После каждой неудачной попытки |
должно сообщаться больше или меньше введенное пользователем число, чем то, что |
загадано. Если за 10 попыток число не отгадано, то вывести загаданное число.»’ |
from os import urandom as _urandom |
def random_number (): |
»’Функция генерирует случайное число от 0 до 100. |
Случайное число возвращает функция _urandom из генератора псевдослучайных |
чисел операционной системы. Побитовый сдвиг вправо увеличивает энтропию»’ |
random = int ( int . from_bytes ( _urandom ( 7 ), ‘big’ )) >> 5 |
list = [ n for n in range ( 0 , 101 )] |
return list [ random % 100 ] |
secret = random_number () |
i = 1 |
while i |
print ( f’Попытка № < i :2 >из 10′ ) |
user_number = int ( input ( ‘Введите число от 1 до 100: ‘ )) |
if user_number == secret : |
print ( ‘Загаданное число угадано’ ) |
break |
elif user_number > secret : |
print ( f’Ваше число < user_number >больше загаданного’ ) |
else : |
print ( f’Ваше число < user_number >меньше загаданного’ ) |
i += 1 |
if i > 10 : |
print ( f’Не угадано! Загаданное число < secret >’ ) |
- Copy lines
- Copy permalink
- View git blame
Источник: github.com