/:“str”和“int”的操作数类型不受支持

2024-09-26 18:08:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,正在学习一些基础知识。我想知道为什么我会犯这个错误。代码是:

Hours = raw_input ("How many Hours you worked for today : ")
minutes = (Hours * 60)
Percentage = (minutes * 100) / 60
print "Today you worked : ", "percentage"

Tags: 代码youforinputtodayraw错误many
3条回答

您的值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变量转换为数字,因为raw_input()给了您一个字符串:

Hours = int(raw_input("How many hours you worked for today: "))

之所以这么晚才失败,是因为为string和int定义了*:它将字符串“乘以”int参数。因此,如果在提示符下键入7,您将得到:

Hours = '7'
minutes = '777777....77777'        # 7 repeated 60 times
Percentage = '77777....77777' / 60 # 7 repeated 60*100 = 6000 times

因此,当它试图对字符串和数字执行/操作时,它最终失败。

相关问题 更多 >

    热门问题