2024-09-26 18:08:38 发布
网友
我是Python新手,正在学习一些基础知识。我想知道为什么我会犯这个错误。代码是:
Hours = raw_input ("How many Hours you worked for today : ") minutes = (Hours * 60) Percentage = (minutes * 100) / 60 print "Today you worked : ", "percentage"
您的值Hours是一个字符串。要转换为整数
Hours
Hours = int(raw_input("How many hours you worked for today : "))
Python中的值有一个特定的类型,尽管字符串可能只包含数字,但如果不告诉Python转换它,您仍然不能将其视为数字。这与其他一些语言(如Javascript、Perl和PHP)不同,这些语言在需要时会自动转换类型。
Hours作为字符串读取。首先将其转换为整数:
Hours = int(raw_input("..."))
注意,Hours*60工作,因为它将小时与自身连接60次。但这肯定不是你想要的,所以你必须在第一次机会转换成int。
Hours*60
int
您必须将Hours变量转换为数字,因为raw_input()给了您一个字符串:
raw_input()
Hours = int(raw_input("How many hours you worked for today: "))
之所以这么晚才失败,是因为为string和int定义了*:它将字符串“乘以”int参数。因此,如果在提示符下键入7,您将得到:
*
7
Hours = '7' minutes = '777777....77777' # 7 repeated 60 times Percentage = '77777....77777' / 60 # 7 repeated 60*100 = 6000 times
因此,当它试图对字符串和数字执行/操作时,它最终失败。
/
您的值
Hours
是一个字符串。要转换为整数Python中的值有一个特定的类型,尽管字符串可能只包含数字,但如果不告诉Python转换它,您仍然不能将其视为数字。这与其他一些语言(如Javascript、Perl和PHP)不同,这些语言在需要时会自动转换类型。
Hours
作为字符串读取。首先将其转换为整数:注意,
Hours*60
工作,因为它将小时与自身连接60次。但这肯定不是你想要的,所以你必须在第一次机会转换成int
。您必须将
Hours
变量转换为数字,因为raw_input()
给了您一个字符串:之所以这么晚才失败,是因为为string和
int
定义了*
:它将字符串“乘以”int参数。因此,如果在提示符下键入7
,您将得到:因此,当它试图对字符串和数字执行
/
操作时,它最终失败。相关问题 更多 >
编程相关推荐