使用输入变量python3.x执行计算

时间:2016-01-12 20:08:28

标签: python

如果我在代码中设置值,Python将乘以变量,例如     wage=10
    hours=35
    wage*hours
    350 #return from python
但是,如果我用输入定义变量,那些变量就不会相乘,例如     Wage=input ("What is your wage?")
    What is your wage?20
    Hours=input("How many hours did you work this week?")
    How many hours did you work this week?40
    Wage*Hours #Here is where the problem is
此时python将显示错误消息:

TypeError: can't multiply sequence by non-int of type 'str'

有没有办法将输入用作变量?越简单越好,因为我没有编程经验而且刚刚开始使用python。

4 个答案:

答案 0 :(得分:0)

在Python 3.x上,input函数返回字符串。因此,您需要明确地将值转换为int

这有效:

Wage=input ("What is your wage?")
Hours=input("How many hours did you work this week?")
print(int(Wage)*int(Hours))  

答案 1 :(得分:0)

假设您使用的是python3。在使用它们之前,您需要将输入转换为整数以进行计算,如引发的错误中所述。因为所有输入值都被接受为字符串。

例如,你不能这样做

print("5" + 5)

或者

print("3" * "4")  # Which is now happening.

会给你一个错误。

相反,请使用:

Wage = int(input("What is your wage?"))

并将其应用于您希望在计算中使用的其他输入。

答案 2 :(得分:0)

输入返回一个字符串。你应该尝试这个并将变量转换为int

int (wage) * int(hours)

答案 3 :(得分:0)

您收到的输入是一个字符串。 我们想要的是将它作为整数接收,以便它可以相乘。

Wage = input("What is your wage?")
Wage = int(Wage)

Hours = input("How many hours did you work this week?")
Hours = int(Hours)

Wage*Hours

将按照您希望的方式将正确的值作为整数返回。

这当然不是最有效的,只是容易理解:)