waw*_*awa 0 python if-statement f-string
我有输入month和day都是int类型,我想将它们传递给函数来构造路径,如果month或day是低于 10 的数字,我们0在数字前面添加一个:
def construct_path(year, month, day):
if month >= 10 or day >= 10:
path = f"xxx/{year}/{month}/{day}"
elif month < 10 and day >= 10:
path = f"xxx/{year}/0{month}/{day}"
elif month >=10 and day <10:
path = f"xxx/{year}/{month}/0{day}"
else:
path = f"xxx/{year}/0{month}/0{day}"
return path
Run Code Online (Sandbox Code Playgroud)
所以construct_path(2021, 5, 2)应该返回xxx/2021/05/02。
代码可以工作,但看起来很复杂,有没有更好的方法来实现这一点?
小智 5
可以使用:02dwith formatting 为一个数字分配两个空格,如果空格为空则用 0 填充。
def construct_path(year, month, day):
return f'xxx/{year}/{month:02d}/{day:02d}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2924 次 |
| 最近记录: |