Найти - Пользователи
Полная версия: Считалка с введением параметров (Быдлокод)
Начало » Центр помощи » Считалка с введением параметров (Быдлокод)
1
shakog
Здравствуйте дорогие форумчане, хотелось бы учиться программировать правильно, но порой из-за недостатка знаний получается не очень красиво..
В общем, есть простая считалка, фактически демонстрация функции 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 =" ")
Никак не могу понять, как всю эту картину сделать компактнее…
FishHook
Так жить нельзя, сделайте же функцию, неужели вы не понимаете, что делаете одно и тоже три раза?
shakog
В том то и дело: Я не совсем понимаю, как это сделать для разных значений ( в смысле начала, конца и интервала)
FishHook
def input_value(title="Введите начало"):
    while True:
        try:
             return int( input("%s:" % title))
        except ValueError:
            print("Введите число!")
start = input_value()
end= input_value("Ведите конец")


Введите конец!
shakog
Спасибо!
Не подскажете еще, почему в моем неудачном примере, программа все время запрашивает ввод, если не подставить break перед except…
FishHook
shakog
программа все время запрашивает ввод, если не подставить break перед except…
потому что цикл while никогда не заканчивается?
shakog
Но в вашем же без break заканчивается..
FishHook
shakog
Но в вашем же без break заканчивается..
но в моём есть return, вы его не видите?
shakog
Не знал, что этого достаточно для выхода из цикла
FishHook
shakog
Не знал, что этого достаточно для выхода из цикла
То есть?
Из функции вышли, а цикл в ней продолжается? Вот это номер!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB