veronikagrabovskaya
?>

(Python)Это игра угадай число, здесь компьютер угадывает число, как из него сделать чтобы компьютер загадал число и пользователь угадывал?не могу допереть((( from random import randint import sys def get_random_number(start, end): return randint(start, end) def get_middle_number(start, end): return (start + end) // 2 def guess(get_number): start = 1 end = 100 steps = 0 while True: # print(start, end) # отладка a = get_number(start, end) print(f'Is it {a}?') steps += 1 answer = input("> ") if answer == 'less': end = a - 1 elif answer == 'greater': start = a + 1 elif answer == 'yes': break else: steps -= 1 print("ответ неверный") print(f'Got it in {steps} steps') guess(get_middle_number) print() guess(get_random_number) print()

Информатика

Ответы

elaginaelena70

В задаче нам гарантируется, что на ввод подаются исключительно числа. При чем даже заданы ограничения с которыми они подаются, так что мы можем избавить себя от их валидации и сразу приступить к обработке.

Перво-наперво, нам необходимо получить количество чисел в последовательности. Для этого просто берем первую строку в стандартном вводе и рассматриваем её как число (1 строка кода).

Затем, нам надо получить все элементы последовательности. Но нам не обязательно работать с ними, как с числами, так как с нас не требуют математических операций. Так что просто оставляем их в виде строк (2 строка кода).

Далее, необходимо убрать все лишние значения (не оканчивающиеся на 3) и оставить только нужные. Для этого используем стандартную функцию filter, в которой проверяем последние символы строк на соответствие "3" (строка кода 3).

Осталось только посчитать количество оставшихся строк и вывести результат (строка кода 4).

Код:

N = int(input())

sequence = [input() for _ in range(N)]  # Вводим числа

sequence = list(filter(lambda x: x[-1] == "3", sequence))   # Отсеиваем лишние

print(len(sequence))  # Сколько осталось?

Если ответ устроил, не забудь отметить его как "Лучший".

keykov35

В задаче нам гарантируется, что на ввод подаются исключительно числа. При чем даже заданы ограничения с которыми они подаются, так что мы можем избавить себя от их валидации и сразу приступить к обработке.

Перво-наперво, нам необходимо получить количество чисел в последовательности. Для этого просто берем первую строку в стандартном вводе и рассматриваем её как число (1 строка кода).

Затем, нам надо получить все элементы последовательности. Но нам не обязательно работать с ними, как с числами, так как с нас не требуют математических операций. Так что просто оставляем их в виде строк (2 строка кода).

Далее, необходимо убрать все лишние значения (не оканчивающиеся на 3) и оставить только нужные. Для этого используем стандартную функцию filter, в которой проверяем последние символы строк на соответствие "3" (строка кода 3).

Осталось только посчитать количество оставшихся строк и вывести результат (строка кода 4).

Код:

N = int(input())

sequence = [input() for _ in range(N)]  # Вводим числа

sequence = list(filter(lambda x: x[-1] == "3", sequence))   # Отсеиваем лишние

print(len(sequence))  # Сколько осталось?

Если ответ устроил, не забудь отметить его как "Лучший".

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

(Python)Это игра угадай число, здесь компьютер угадывает число, как из него сделать чтобы компьютер загадал число и пользователь угадывал?не могу допереть((( from random import randint import sys def get_random_number(start, end): return randint(start, end) def get_middle_number(start, end): return (start + end) // 2 def guess(get_number): start = 1 end = 100 steps = 0 while True: # print(start, end) # отладка a = get_number(start, end) print(f'Is it {a}?') steps += 1 answer = input("> ") if answer == 'less': end = a - 1 elif answer == 'greater': start = a + 1 elif answer == 'yes': break else: steps -= 1 print("ответ неверный") print(f'Got it in {steps} steps') guess(get_middle_number) print() guess(get_random_number) print()
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

milkline-nn
alekseydovganich6
gullieta
stepanova-natalie
Arsen-araqelyan20164
savva-vika
nsmmkrtchyan
alfaantonk
Olgachalova111
Aleksandrovna Kolesnik1764
tanyatanyat
qwerty
s777tver109
kotovayaanastasia2069
Присакарь520