繁体   English   中英

语法错误 Python:'返回外部函数'

[英]Syntax Error Python: 'return outside function'

尝试在 python 中使用 function 以小时和分钟返回时间......返回语句不断出现错误

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 评论的那样,这个特殊的 function 很容易用 f 字符串在一行中实现。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM