gpt4 book ai didi

python - 这段代码没有按照我的意愿打印 - python

转载 作者:太空宇宙 更新时间:2023-11-04 09:08:53 25 4
gpt4 key购买 nike

使用这段代码,我没有得到我想要的那种显示方式。

def printTime(time):
print time.hours,":",time.minutes,":",time.seconds,

def makeTime(seconds):
time = Time()
print "have started converting seconds into hours and minutes"
time.hours = seconds/3600
print "converted into hours and no.of hours is :",time.hours
seconds = seconds - time.hours *3600
print "number of seconds left now:",seconds
time.minutes = seconds/60
print "number of minutes now is :",time.minutes
seconds = seconds - time.minutes*60
print "number of seconds left now is :",seconds
time.seconds = seconds
print "total time now is:",printTime(time)

最后一行导致的问题是:

print "total time now is:",printTime(time)

我希望结果采用以下格式-现在的总时间是:12:42:25

但我得到的是现在的总时间是:12:42:25 无

但是当我把那行写成:

print "total time now is:"
printTime(time)

然后我得到的结果是——现在的总时间是: 12:42:25

当我不写的时候 None 不会出现与打印在同一行的 printTime(time) 函数。

那么,这里到底发生了什么?

编辑:我尝试使用 return 语句,但结果还是一样。那么,我到底应该在哪里使用 return 语句。也许我用错了。我试着这样做

print "total time now is:",return printTime(time)

但这会报错。

然后我尝试这样做-

print "total time now is:",printTime(time)
return printTime(time)

仍然得到相同的结果。

最佳答案

您正在打印 printTime() 函数的返回值

Python 中的所有函数都有一个返回值,如果您不使用 return 语句,该值默认为 None

不是在 printTime() 函数中打印,而是将该函数重命名为 formatTime() 并让它返回格式化的字符串:

def formatTime(time):
return '{0.hours}:{0.minutes}:{0.seconds}'.format(time)

然后使用

print "total time now is:",formatTime(time)

str.format() method上面使用了 format string syntax引用传入的第一个参数(0,python 索引从 0 开始),并从该参数插入属性。第一个参数是您的 time 实例。

您可以对此进行扩展并添加更多格式,例如对数字进行零填充:

def formatTime(time):
return '{0.hours:02d}:{0.minutes:02d}:{0.seconds:02d}'.format(time)

关于python - 这段代码没有按照我的意愿打印 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17442399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com