Умножение числа Python внутри "print ()" - PullRequest
1 голос
/ 08 марта 2012

Итак, у меня есть код (Соответствующий код):

print("You have chosen to bet on the even numbers")
valin = input("How much would you like to bet?: ")
print("If it lands on an even number, you win", valin*2)

Что я хочу сделать, это вывести значение валина, умноженное на 2, но понятия не имею, как это сделать!Как?

Ответы [ 4 ]

4 голосов
/ 08 марта 2012

Преобразовать входную строку в целое число с помощью int:

valin = int(input("How much would you like to bet?: "))

затем продолжайте как прежде.

3 голосов
/ 08 марта 2012

Ваша проблема в том, что результатом input() будет str, а не int, а умножение имеет другое значение для строк.Вот пример:

>>> valin = input("How much would you like to bet?: ")
How much would you like to bet?: 20
>>> type(valin)      # valin is a string!
<type 'str'>
>>> valin * 2        # multiplication will concatenate the string to itself
'2020'
>>> int(valin) * 2   # first convert it to an int, then multiply
40

Вам нужно сделать так, как предложил Ларсман, и преобразовать его в int перед умножением.Вот версия с дополнительной проверкой:

print("You have chosen to bet on the even numbers")
while True:
    try:
        valin = int(input("How much would you like to bet?: "))
        break
    except ValueError:
        print("Invalid input, please enter an integer")
print("If it lands on an even number, you win", valin*2)
2 голосов
/ 08 марта 2012

Использовать Форматирование строки Python :

print("If it lands on an even number, you win %d" % (int(valin) * 2))

Редактировать: Возможно, вы захотите выполнить некоторую проверку ввода, чтобы убедиться, что вы получаете от inputявляется целым числом, или может быть проанализирован как целое число, и в противном случае запросить снова.

Редактировать 2: Если комментарий от larsmans правильный, вам нужно проанализировать ввод в int.Исправлено выше.

0 голосов
/ 08 марта 2012

print («Если выпадет четное число, вы выиграете% d»% valin * 2)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...