语法错误 Python : 'return outside function'



尝试使用 python 中的函数来返回带有小时和分钟的时间......返回语句不断出现错误

def return_time(hour, minutes):
time = ""
if hour < 10:
time += "0" + str(hour)
else:
time += str(hour)
time += ":"
if minutes < 10:
time += "0" + str(minutes)
else:
time += str(minutes)
return time

由于 Python 不像其他语言(C++、Java 等(那样使用括号/大括号来跟踪块,因此它对缩进非常讲究。代码的编写方式,整个return_time()

def return_time(hour, minutes):
time = ""

因为之后的下一行是非缩进的。这是一个简单的解决方法。

def return_time(hour, minutes):
time = ""
if hour < 10:                # stay indented!
time += "0" + str(hour)
else:
time += str(hour)
time += ":"
if minutes < 10:
time += "0" + str(minutes)
else:
time += str(minutes)
return time

此外,正如@IronMan评论的那样,这个特定的函数很容易在带有 f 字符串的单行中实现。

def return_time(hour, minutes):
return f"{hour:02d}:{minutes:02d}"

f 字符串(由引号前的f表示(计算大括号内和:之前的变量,并将其转换为字符串。:后面的文本描述了格式,在这种情况下是"正好两位数,如果少于两位数字,则前面是 0"。

您可能还对time.strftime()感兴趣。

最新更新