Форум сайта python.su
Здравствуйте дорогие форумчане, хотелось бы учиться программировать правильно, но порой из-за недостатка знаний получается не очень красиво..
В общем, есть простая считалка, фактически демонстрация функции range(), начало, конец и интервал вводит пользователь, хотелось бы сделать проверку ввода(чтоб воспринимались только число)
Вот, что получилось:
print("Добро пожаловать в нашу считалку!") start = "" end = "" rang = "" while True: start = input("Введите начало: ") try: start = int(start) break except ValueError: print("Введите число!") continue while True: end = input("Введите конец: ") try: end = int(end) break except ValueError: print("Введите число!") continue while True: rang = input("Введите интервал: ") try: rang = int(rang) break except ValueError: print("Введите число!") continue for i in range(start, end, rang): print (i, end =" ")
Офлайн
Так жить нельзя, сделайте же функцию, неужели вы не понимаете, что делаете одно и тоже три раза?
Офлайн
В том то и дело: Я не совсем понимаю, как это сделать для разных значений ( в смысле начала, конца и интервала)
Офлайн
def input_value(title="Введите начало"): while True: try: return int( input("%s:" % title)) except ValueError: print("Введите число!") start = input_value() end= input_value("Ведите конец")
Отредактировано FishHook (Авг. 16, 2015 18:39:19)
Офлайн
Спасибо!
Не подскажете еще, почему в моем неудачном примере, программа все время запрашивает ввод, если не подставить break перед except…
Офлайн
shakogпотому что цикл while никогда не заканчивается?
программа все время запрашивает ввод, если не подставить break перед except…
Офлайн
Но в вашем же без break заканчивается..
Офлайн
shakogно в моём есть return, вы его не видите?
Но в вашем же без break заканчивается..
Отредактировано FishHook (Авг. 16, 2015 18:39:47)
Офлайн
Не знал, что этого достаточно для выхода из цикла
Офлайн
shakogТо есть?
Не знал, что этого достаточно для выхода из цикла
Офлайн