找回密码
 加入天云!
搜索
查看: 75|回复: 0

python判断语句奇技淫巧[转载]

[复制链接]

66

主题

103

回帖

1058

积分

中级会员

积分
1058
Elan 发表于 2025-3-27 19:23:34 | 显示全部楼层 |阅读模式
转载自知乎


  1. age = 20

  2. # 第一种
  3. msg = ''
  4. if age > 18:
  5.     msg = '成年'
  6. else:
  7.     msg = '未成年'

  8. # 第二种
  9. msg = '成年' if age > 18 else '未成年'

  10. # 第三种
  11. msg = age > 18 and '成年' or '未成年'

  12. # 第四种
  13. msg = ('未成年', '成年')[age > 18]

  14. # 第五种
  15. msg = {True: "成年", False: "未成年"}[age > 18]
  16. # 来自@王炳明   https://github.com/iswbm/magic-python/blob/master/source/c03/c03_04.rst

  17. # 第六种
  18. msg = '未成年'[age>18:]
  19. # 来自评论区 @李世先

  20. # 第七种
  21. try:
  22.     assert age > 18
  23.     msg = '成年'
  24. except:
  25.     msg = '未成年'
  26. # 来自 评论区 @天刑

  27. # 第八种
  28. (["未成年"]*19+["成年"]*120)[age]
  29. # 来自评论区 @zuan

  30. # 第九种
  31. d = {range(0, 18): '未成年', range(18, 256): '成年'}
  32. msg = d[age]

  33. # 第十种
  34. msg = '成年' if range(age, 18) else '未成年'

  35. # 十一种
  36. msg = age // 18 and '成年' or '未成年'
  37. # 第九种、第十种、第十一种都来自评论区 @很多人

  38. # 第十二种,来自评论区 @熊德
  39. age>18?"未":""+"成年"

  40. # 第十三种,来自评论区 @legendmath
  41. '未'*(age<18)+'成年'

  42. # 第十四种,来自评论区 @SciBot
  43. '{:s}成年'.format('' if age > 18 else ‘未’)
复制代码
看着挺有趣的,遂与天云网友分享。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入天云!

本版积分规则

Archiver|小黑屋|萌ICP备20250701号|天云社区

GMT+8, 2025-4-27 08:22 , Processed in 0.076123 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表