Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/120: Рейтинг темы: голосов - 120, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 07.01.2019
Сообщений: 15

Бесконечный повторный ввод

31.01.2019, 02:25. Показов 24902. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем, доброго дня! Не так давно изучаю питон. Помогите дописать программу. Нужно угадать два числа, пользователь вводит число, если оно равно 63, программа пишет сообщение "Неверно", если число равно 65, то программа пишет "Верно", если пользователь вводит любое другое число, программа должна выводить сообщение "Повторите ввод" и предлагать пользователю ввод числа до тех пор пока число не будет угадано. Спасибо заранее!
Python
1
2
3
4
5
6
7
8
a = int(input())
if a == 63:
    print('Неверно')
if a == 65:
    print('Верно')
else:
    print('Повторите ввод')
    a = int(input())
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2019, 02:25
Ответы с готовыми решениями:

Вывод ошибки и повторный ввод
Хочу сделать в программе так, чтобы после не правильного ввода данных с клавиатуры, выскакивала ошибка и просьба ввести информацию снова, и...

Бесконечный ввод
Задание: Дано натуральное число. (Вводится с клавиатуры). Определить сколько раз в нем встречается минимальная цифра. Например, для числа...

Проверка ввода и повторный ввод
Всем привет! Я делаю WeatherBot`a, в его функционал входит проверка, существует ли введённый пользователем город вообще, если нет, то нужно...

12
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
31.01.2019, 03:04
Python
1
2
3
4
5
6
7
def myFunc(str):
  if str.isdigit():
    num = int(str)
    if num == 63: print('Неверно')
    elif num == 65: print('Верно')
    else: myFunc(input('Повторите ввод: '))
myFunc(input('Введите число: '))
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
31.01.2019, 15:12
svtslv, из-за рекурсии стек переполнится и программа упадёт.
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
31.01.2019, 15:28
Рыжий Лис, myFunc срабатывает только после ввода input и выходит при нужном вводе в моем коде даже если не число. Ну а как по другом?
Python
1
2
3
4
5
6
def myFunc(str):
  print('myFunc')
  if str == '63': print('Неверно')
  elif str == '65': print('Верно')
  else: myFunc(input('Повторите ввод: '))
myFunc(input('Введите число: '))
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
31.01.2019, 15:40
Циклом

Добавлено через 48 секунд
Во втором варианте всё равно рекурсия осталась.
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
31.01.2019, 15:46
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Во втором варианте всё равно рекурсия осталась.
Я знаю. Просто переполнения не вижу. Функция вызывается по необходимости
Python
1
2
3
4
5
6
7
8
9
i = 0
def myFunc(str):
  global i
  i = i + 1
  print (i)
  if str == '63': print('Неверно')
  elif str == '65': print('Верно')
  else: myFunc(input('Повторите ввод : '))
myFunc(input('Введите число: '))
Добавлено через 1 минуту
Если это действительно правда тогда погуглю.
0
0 / 0 / 0
Регистрация: 07.01.2019
Сообщений: 15
31.01.2019, 15:59  [ТС]
Да, с помощью цикла я и хочу это сделать, только пока не догадываюсь как...
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
31.01.2019, 16:11
Цитата Сообщение от Evgeniy Shatrov Посмотреть сообщение
Да, с помощью цикла я и хочу это сделать, только пока не догадываюсь как...
Как то так.
Python
1
2
3
4
5
6
7
8
9
while str != '-1':
  if str == '63':
    str = '-1'
    print('Неверно')
  elif str == '65':
    str = '-1'
    print('Верно')
  else: 
    str = input('Повторите ввод : ')
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
31.01.2019, 16:18
Python
1
2
3
4
5
6
dct = {63:'No', 65:'Yes'}
while True:
    a = int(input('a='))
    if a == 63 or a == 65:
        print(dct[a])
        break
1
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
31.01.2019, 16:46
ioprst,
Python
1
2
3
4
5
6
dct = {63:'No', 65:'Yes'}
while True:
    a = int(input('a='))
    if a in dct.keys():
        print(dct[a])
        break
Добавлено через 4 минуты
Ну или что б без ошибок
Python
1
2
3
4
5
6
dct = {'63':'No', '65':'Yes'}
while True:
    a = input('a = ')
    if a in dct.keys():
        print(dct[a])
        break
0
0 / 0 / 0
Регистрация: 07.01.2019
Сообщений: 15
31.01.2019, 17:18  [ТС]
Спасибо!
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
31.01.2019, 17:38
Бинарный поиск с указанием "больше/меньше" самый быстрый вариант угадывания числа. Если интересно, могу у себя поискать решение данного алгоритма.
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
31.01.2019, 20:24
svtslv, уж тогда просто a in dct, но это так, на любителя
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.01.2019, 20:24
Помогаю со студенческими работами здесь

Бесконечный ввод ответа
Пишу бота-напоминалку для телеграма. Мне нужно получать от пользователя его часовой пояс. Для этого нужно как-то проверить правильность...

Бесконечный ввод и подсчет положительных чисел
С клавиатуры вводятся целые числа, до тех пор пока не будет введена строка "стоп". Посчитать количество положительных чисел, среди...

Как прекратить бесконечный ввод данных в консоль?
Есть такой код: #include <iostream> using namespace std; int main() { long long t, r, k, c; cin >>...

Повторный ввод
Добрый вечер. Подскажите , пожалуйста , как после ввода неверного расширения (после показа всех возможных доступных расширений) предвидеть...

Повторный ввод в textBox
Добрый день. Мне нужно через массив объектов организовать ввод данных в textBox несколько раз,сделала таким образом: private void...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru