Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
735 views
in Technique[技术] by (71.8m points)

if statement - Python if with many or in a contracted form

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')

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Change it to

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

Also this is wrong:

lowui = user_input.lower

it should be:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...