2016-08-19 2 views
0

У меня есть странная ошибка в python 3.4, где умножение не работает!Умножение в Python не работает

Это мой код:

timerlenth = input('Please enter the amount of minute: ') 
int(timerlenth) 
timersec = (timerlenth*60) 
print (timersec) 

Вот фотография результата:

The code multiplies the input by 60 and I get a result for 1111111...

Я практически невежественны на попытки решить эту проблему!

ответ

1

input функция возвращает строку. Поэтому переменная timerlenth хранит строку. Следующая строка: int(timerlenth) преобразует эту переменную в целое число, но ничего не делает с результатом, оставив timerlenth той же самой строкой, какой она была раньше. Python имеет эту функциональность, где [string]*x будет повторять строку x раз, и это то, что вы видите на выходе.

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

+0

Спасибо! Это решило мою проблему. –

0

timerlenth - это строка, поэтому оператор * просто конкатцирует ее 60 раз вместо ее умножения. Это вызвано неправильным использованием int - он не изменяет переданный аргумент, он возвращает целое значение для него, которое вы теряете, не назначая его нигде. Просто переназначить его timerlenth и вы должны быть хорошо:

timerlenth = int(timerlenth) 
Смежные вопросы