我是Python的新手,正在学习一些基础知识。我想知道为什么会出现这个错误。代码如下:
Hours = raw_input ("How many Hours you worked for today : ")
minutes = (Hours * 60)
Percentage = (minutes * 100) / 60
print "Today you worked : ", "percentage"
我是Python的新手,正在学习一些基础知识。我想知道为什么会出现这个错误。代码如下:
Hours = raw_input ("How many Hours you worked for today : ")
minutes = (Hours * 60)
Percentage = (minutes * 100) / 60
print "Today you worked : ", "percentage"
您需要将变量Hours
转换为数字,因为raw_input()
会给您提供一个字符串:
Hours = int(raw_input("How many hours you worked for today: "))
*
被定义为对于字符串和整型来说都有意义:它会将字符串与整型参数相乘。所以如果你在提示符中输入 7
,你将得到以下结果:Hours = '7'
minutes = '777777....77777' # 7 repeated 60 times
Percentage = '77777....77777' / 60 # 7 repeated 60*100 = 6000 times
因此,当它尝试在字符串和数字上执行/
时,最终会失败。
Hours
是一个字符串。首先将其转换为整数:
Hours = int(raw_input("..."))
Hours*60
的工作原理是将Hours与自身连接60次。但这显然不是你想要的,因此你必须在第一次机会时转换为int
。您的值Hours
是一个字符串。要转换为整数,
Hours = int(raw_input("How many hours you worked for today : "))
raw_input()
返回一个字符串。在继续之前将其转换为数字(因为将一个字符串乘以一个整数是一种有效的操作)。