如果我在代码中设置值,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。
答案 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
将按照您希望的方式将正确的值作为整数返回。
这当然不是最有效的,只是容易理解:)