【发布时间】:2016-10-26 12:21:06
【问题描述】:
这个函数有两个整数,x 是小时,y 是分钟。该函数应将文本中的时间打印到最接近的小时。 这是我写的代码。
def approxTime(x, y):
if int(y) <= 24:
print("the time is about quarter past" + int(y))
elif 25 >= int(y) <=40:
print("the time is about half past" + int(y))
elif 41 >= int(y) <= 54:
print("the time is about quarter past" + int(y+1))
else:
print("the time is about" + int(y+1) +"o'clock")
approxTime(3, 18)
但是我收到此错误消息。
Traceback (most recent call last): File
"C:/Users/Jafar/Documents/approxTime.py", line 14, in <module>
approxTime(3, 18) File "C:/Users/Jafar/Documents/approxTime.py", line 5, in approxTime
print("the time is about quarter past" + int(y)) TypeError: Can't convert 'int' object to str implicitly
【问题讨论】:
-
不要打电话给
int(y+1)打电话给str(int(y)+1)或者最好再用str.format -
顺便说一句,它应该是
x,而不是print语句中的y- 请将变量名称更改为hours和minutes或类似的东西,以使事情多一点很明显。 -
下次尝试谷歌搜索错误信息。
-
错误信息对我来说似乎很清楚。为什么会出现混乱?您正在尝试使用
+运算符连接str和int。它告诉你你不能那样做。您需要将int转换为str。当你应该做"x" + "5"时,你正在尝试做"x" + 5。错误信息基本上告诉了你这一点。只需阅读错误消息,查看代码,思考并相应地修改您的代码。 -
请不要在得到答案后破坏您的问题。
标签: python function python-3.x if-statement