2015-08-10 2 views
0

Попытки сделать простой счетчик в питоне для проекта в «Learn Python Книги»(Python) Попытка сделать простой счетчик (книга проект)

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

То, что я до сих пор:

print ("Welcome to the program for those who are to lazy to count") 
print ("You must be really really lazy too use this") 

input ("\n Press any key to continue") 

Num1 = input ("Please Enter Starting Number: \n") 
Num2 = input ("Please Enter Ending Number: \n") 
count = input ("Count up in: \n") 

while (Num1 < Num2): 
     Num1 += count 
     print (Num1)  

Не уверен, что не так с этим кодом это получить застрял в бесконечном цикле может кто-нибудь объяснить, почему? И, возможно, исправить :) застрял

+4

Подсказка: '' 100 "<" 9 "' Истина. '100 <9' является ложным. – Kevin

+0

Ммм вы могли бы разработать Num1 & Num2 Переменные, поэтому, если я поместил их в кавычки «", это будет просто рассматривать их как строку? –

ответ

1

Как и другие, функция input() возвращает тип string, поэтому вы не можете правильно сравнить значения с оператором <.

Вы должны сначала преобразовать тип num1, num2 и count в целое с помощью встроенной функции int() (см The Python Standard Library).

Попробуйте упрощенную версию (без обработки ошибок):

Num1 = int(input ("Please Enter Starting Number: \n")) 
Num2 = int(input ("Please Enter Ending Number: \n")) 
count = int(input ("Count up in: \n")) 

надеюсь, что это поможет!

+1

Большое спасибо, что я знал о int() такую ​​маленькую ошибку>< –

2

Вы сравниваете строки, как сказал Кевин. Вам нужно будет преобразовать входы в int, чтобы их можно было правильно сравнить с оператором <.

+0

Ах, я вижу, есть ли для этого оператор? –

+0

В вашей книге не упоминается встроенная функция 'int()'? – TigerhawkT3

+0

Пока нет, когда я буду использовать int() –

Смежные вопросы