我被赋予了呈现当前时间和给定未来时间的任务。
用户输入他想要的其他分钟数,然后我需要显示确切的时间。
我尝试了以下方法:
import time
hours = int(time.strftime('%H:%M')[0:2])
minutes = int(time.strftime('%H:%M')[3:5])
def newminutes(minutes,adding):
if minutes + adding >=60:
return minutes + adding - 60
else:
return minutes + adding
def newhours(hours, minutes, adding):
if minutes + adding >=60:
newhour = hours + adding//60 + 1
else:
newhour = hours + adding //60
if newhour >= 24:
return newhour - 24
else:
return newhour
usersays = input("insert additional minutes: ")
usersay = int(usersays)
finalhours = newhours(hours,minutes,usersay)
finalminutes = newminutes(minutes,usersay)
print("Current Time: " +time.strftime + "\n" +
"Future Time: "+ str(finalhours) + ":" + str(finalminutes))
输入分钟数后,我得到的输出始终为:
追溯(最近一次通话):
文件“ C:\ Users \ DELL \ Documents \ Python projects \ Ex2 \ test2.py”,第29行,在
+“:” + str(newminutes(minutes,usersay)))
TypeError:必须为str,而不是buildin_function_or_method
我一直在努力解决此问题达数小时之久,但没有成功,请向我解释我哪里出错了。提前致谢!
最佳答案
您得到的异常是因为您尝试将字符串连接与内置函数一起使用:
print("Current Time: " +time.strftime + "\n" +
"Future Time: "+ str(finalhours) + ":" + str(finalminutes))
time.strftime是一个函数。
>>> time.strftime
<built-in function strftime>
您需要调用它,以便它返回一个字符串。
尝试用以下命令替换它,它返回一个字符串对象:
time.strftime("%b %d %Y %H:%M:%S")
'Apr 05 2018 10:57:48'