Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
739 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 Answer

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...