Python повторный ввод данных

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

Всем, доброго дня! Не так давно изучаю питон. Помогите дописать программу. Нужно угадать два числа, пользователь вводит число, если оно равно 63, программа пишет сообщение «Неверно», если число равно 65, то программа пишет «Верно», если пользователь вводит любое другое число, программа должна выводить сообщение «Повторите ввод» и предлагать пользователю ввод числа до тех пор пока число не будет угадано. Спасибо заранее!

a = int(input()) if a == 63: print('Неверно') if a == 65: print('Верно') else: print('Повторите ввод') a = int(input())

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

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

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

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

def myFunc(str): if str.isdigit(): num = int(str) if num == 63: print('Неверно') elif num == 65: print('Верно') else: myFunc(input('Повторите ввод: ')) myFunc(input('Введите число: '))

Эксперт Python

Рыжий Лис, myFunc срабатывает только после ввода input и выходит при нужном вводе в моем коде даже если не число. Ну а как по другом?

def myFunc(str): print('myFunc') if str == '63': print('Неверно') elif str == '65': print('Верно') else: myFunc(input('Повторите ввод: ')) myFunc(input('Введите число: '))

Эксперт Python

Добавлено через 48 секунд
Во втором варианте всё равно рекурсия осталась.

ЦитатаСообщение от Рыжий Лис Посмотреть сообщение

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('Введите число: '))

ЦитатаСообщение от Evgeniy Shatrov Посмотреть сообщение

while str != '-1': if str == '63': str = '-1' print('Неверно') elif str == '65': str = '-1' print('Верно') else: str = input('Повторите ввод : ')
dct = {63:'No', 65:'Yes'} while True: a = int(input('a=')) if a == 63 or a == 65: print(dct[a]) break
dct = {63:'No', 65:'Yes'} while True: a = int(input('a=')) if a in dct.keys(): print(dct[a]) break
dct = {'63':'No', '65':'Yes'} while True: a = input('a = ') if a in dct.keys(): print(dct[a]) break

Бинарный поиск с указанием «больше/меньше» самый быстрый вариант угадывания числа. Если интересно, могу у себя поискать решение данного алгоритма.

Читайте также:  Display pdf in java

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

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

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

Добавить повторный ввод
#include <stdio.h> #include <conio.h> #include <math.h> #include<iostream> #include <stdlib.h>.

Повторный ввод в консоль
Работаю в IntelliJ IDEA. Родилась идея написать консольную программу игры в города.Реализованно.

Повторный ввод чисел
Решил сделать программу, а точнеe игру-угадалку. Cуть в том, что консоль(или компьютер) загадывает.

Источник

Вывод ошибки и повторный ввод

Хочу сделать в программе так, чтобы после не правильного ввода данных с клавиатуры, выскакивала ошибка и просьба ввести информацию снова, и это продолжается до тех пор, пока пользователь не введёт правильное значение.
Так же хочу сделать,когда пользователь вводит символы, не являющиеся числами, то опять выскакивает ошибка и просьбы ввести информацию снова, и это продолжается до тех пор, пока пользователь не введёт правильное значение.

Повторный ввод данных после ошибки
как после слов "ошибка. " вернуться для повторного ввода оценки ученику?#include <iostream>.

Как сделать повторный ввод числа в случае ошибки?
Подскажите пожалуйста как сделать так чтобы во время ввода пользователем символа программа бы не.

Заполнение массива (повторный ввод значения в случае ошибки)
const min_val=-32676; max_val=32676; n=6; var m : array of integer; s:string;.

Как сделать повторный ввод числа в случае ошибки?
#include <iostream> #include <algorithm> #include <cmath> #include <Windows.h> using namespace.

Меню.Ввод-вывод.Проверка на ошибки ввода
Здравствуйте, помогите переделать программу без go to при чтении ввода scanf /*Задача: Напишите.

Лучший ответ

Сообщение было отмечено Pon4iPay как решение

Решение

right_val = 7 while True: try: n = int(input('Введите число ')) if n == right_val: break else: print('Неверное число') except : print("Ошибка - это не число")

Эксперт Python

ЦитатаСообщение от ТабуретY Посмотреть сообщение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
right_val = 7 while True: s = input('Введите число ') try: n = int(s) if n == right_val: break else: print('Неверное число') except : if s.isalpha(): print("Введены буквы") else: print("Введены непонятные символа")
1 2 3 4 5 6 7 8 9 10 11 12 13
while True: s = input('Введите число ') # получаем строку try: n = int(s) # пробуем перевести в число, если не удается переходим в except if n == right_val: break else: print('Неверное число') except : if s.isalpha(): # функция isalpha возвращает True если все символы буквы print("Введены буквы") else: print("Введены непонятные символа")

А что делать если число может быть любым? Ведь в 5 строке вы указываете, что «n» должно ровняться 7, а число нужно любое.

while True: s = input('Введите число ') # получаем строку try: n = int(s) # пробуем перевести в число, если не удается переходим в except break except : if s.isalpha(): # функция isalpha возвращает True если все символы буквы print("Введены буквы") else: print("Введены непонятные символа")

Всё прошло успешно, но почему-то после этого изменения, с этими переменными нельзя ничего посчитать, т.е. я ввожу число — всё отлично, потом выводится результат 0, а должно быть нормальное число

1 2 3 4 5 6 7 8 9 10 11 12
while True: s = input('Введите число ') try: n = int(s) break except : if s.isalpha(): print("Введены буквы") else: print("Введены непонятные символа") print(n **2)

$python fot.py
Введите число tyuyu
Введены буквы
Введите число dtd555
Введены непонятные символа
Введите число 6
36

Читайте также:  Операторы языка программирования php

вот мой результат(переменная «c» вводилась чуть позже):

Traceback (most recent call last):
File «C:\Users\***\PycharmProjects\untitled1\***.py», line 51, in
e = a/24*c
TypeError: unsupported operand type(s) for /: ‘str’ and ‘int’

ЦитатаСообщение от Pon4iPay Посмотреть сообщение

Прошу прощения, что пишу в столь старой теме с уже полученным ответом на вопрос автора, но моя проблема схожа. Делаю первые шаги в Python. Пишу простейший калькулятор (в данном случае он только складывает и вычитает числа) и возник вопрос — как сделать так чтобы после ввода любого символа отличного от + или — выскакивало сообщение об ошибке, к примеру «Недопустимый символ для ввода данных» после чего необходимо было бы снова вернуться к вводу данных. Голова кипит, а решение не найдено. Сам код:

1 2 3 4 5 6 7 8 9 10 11 12 13
what = input ( "Что делаем? (+ или -): " ) a = float(input("Введите первое число: ")) b = float(input("Введите второе число: ")) if what == "+": c = a + b print("Результат: " + str(c)) elif what == "-": c = a - b print("Результат: " + str(c)) else: print("Syntax ERROR!")

Yankeedoodle, на сколько сложная реализация тебе нужна? Судя по вопросу, ты пока на ветвлениях, на них приемлемо?

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

what = input("Что делаем? (+ или -): ") while what not in ('+', '-'): print('Я в такое не могу, попробуй еше раз') what = input('А что мне с ними сделать, пока умею только + и -: ') a = float(input("Введите первое число: ")) b = float(input("Введите второе число: ")) if what == '+': print(a + b) else: print(a - b)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
what = input ( "Что делаем? (+ или -): " ) while not (what in ['+', '-']): # проверяет, не находится ли введённое значение в списке. если значение не входит в список, начинает/повторяет цикл print("Недопустимый символ для ввода данных") what = input ( "Что делаем? (+ или -): " ) a = float(input("Введите первое число: ")) b = float(input("Введите второе число: ")) if what == "+": c = a + b print("Результат: " + str(c)) elif what == "-": c = a - b print("Результат: " + str(c))

самое просто решение, на мой взгляд.

Читайте также:  Php file names from directory

третья строчка может выглядеть и так:

Благодарю ответивших, всё получилось. Ещё нет рейтинга чтобы нажать «спасибо» под вашими сообщениями. Интуитивно понимал, что реализация будет через цикл while, но не понимал как правильно синтаксически оформить, ряд самостоятельных попыток провалились.

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

Ввод/вывод структуры: найти и исправить ошибки в коде
Прога не запускатся, что-то не так с scanf. Не могу найти ошибку. #include <conio.h> #include.

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

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

Повторный ввод с консоли
Здравствуйте! Имеется некоторый ввод с консоли. Пользователь вводит строку вместо целого числа.

Источник

Как дать пользователю возможность ввести значения заново в случае неправильного ввода?

Я знаю только способ только через do while, но его в python нет.

def mode(): cryptMode = input("Выберите режим! [З]ашифровать|[Д]ешифровать: ").upper() if cryptMode not in ['З','Д']: # Проверка правильности введенного выбора (режима) print("Ошибка! режим не найден! Повторите попытку. "); openFile = input("Вы желаете ввести сообщение в консоль или открыть из файла? [О]ткрыть, [В]вод вручную: ").upper() if openFile not in ['О','В']: print("Ошибка! Проверьте правильность введенного режима! Повторите попытку. "); if (cryptMode == 'З' or 'Д') and (openFile == 'O' or 'В'): return True mode() while not True: mode()

Нужно реализовать это следующим образом: если пользователь неправильно ввел значение в первом режиме ему заново представилась возможность ввести правильное значение. Если он правильно ввел значение в первом режиме, то нужно чтобы программа не начиналась с нуля, а продолжилась с момента записи в переменную openFile (В моем коде нет этого фрагмента, так как не дошло как это сделать)
В общем нужна помощь.

Dr_Elvis

while True: cryptMode = input("Выберите режим! [З]ашифровать|[Д]ешифровать: ").upper() if cryptMode not in ['З','Д']: # Проверка правильности введенного выбора (режима) print("Ошибка! режим не найден! Повторите попытку. "); continue openFile = input("Вы желаете ввести сообщение в консоль или открыть из файла? [О]ткрыть, [В]вод вручную: ").upper() if openFile not in ['О','В']: print("Ошибка! Проверьте правильность введенного режима! Повторите попытку. "); continue if cryptMode in ['З', 'Д'] and openFile in ['O', 'В']: return True

Источник

Оцените статью