2024-04-27 03:08:29 发布
网友
如何将此代码转换为一行速记代码?有可能吗?在
我希望代码的目的相同,但要尽可能少的行
inpt = input('Age: ') age = int(inpt) if age <= 10: print('Kid') elif age > 10 <= 20: print('Teen') elif age > 20: print('Adult')
可以将其缩短为:
age = int(input('Age: ')) print('Kid' if age <= 10 else 'Teen' if age <= 20 else 'Adult')
这就是说,除非您只是为了好玩而做一行程序,否则我会坚持使用您的原始代码,在修复了Teen的测试并将Adult变成一个简单的else(无需重新测试> 20,因为前面的例子排除了其他可能性)。
Teen
Adult
else
> 20
这可能不是建议的,但是您可以使用short circuiting来尝试一些东西。我个人认为这是更具可读性(不是你的例子),但代价是额外的比较。
short circuiting
input = input('Age: ') age = int(input) age <= 10 and print('Kid') age > 10 and age <= 20 and print('Teen') age > 20 and print('Adult')
让我们试试:
text = 'kid' if age <= 10 else 'teen' if age <= 20 else 'adult'
示例:
输出:
kid teen adult
可以将其缩短为:
这就是说,除非您只是为了好玩而做一行程序,否则我会坚持使用您的原始代码,在修复了
Teen
的测试并将Adult
变成一个简单的else
(无需重新测试> 20
,因为前面的例子排除了其他可能性)。这可能不是建议的,但是您可以使用
short circuiting
来尝试一些东西。我个人认为这是更具可读性(不是你的例子),但代价是额外的比较。让我们试试:
示例:
^{pr2}$输出:
相关问题 更多 >
编程相关推荐