Python 如果有很多或以收缩形式

2022-01-19 00:00:00 python if-statement boolean

问题描述

我正在学习 python,但我发现自己在尝试创建如果用户输入 y 或 yes 时应该为 true 的 if 语句时迷失了方向.

I'm learning python and I found myself lost trying to create a an if statement that should be true if the user input y or yes.

#!/usr/bin/env python3

user_input = input('Would you like to go on?')
lowui = user_input.lower

if lowui == ('y' or 'yes'):
   print('You want to go on')
else
   print('See you later, bye')

问题在于,只有当我输入 y 而不是输入 yes 时它才会变为 true.如果我删除括号,它总是错误的.好的,我可以做一个解决方法,比如

The problem is that it becomes true only if I type y but not for yes. If I remove the parenthesis it becomes always false. Ok, I can do a workaround like

if lowui == 'y' or lowui == 'yes':

但我想知道是否有任何技巧不会强迫我写这么多次变量.
提前谢谢你.

but I was wondering if there is any trick that don't force me to write so many times tha variable.
Thank you in advance.


解决方案

改成

if lowui in ('y', 'yes'):

这也是错误的:

lowui = user_input.lower

应该是:

lowui = user_input.lower() # Actually call the lower function

相关文章