定义变量

Kik*_*ite 2 python

如果用户已经输入'tea''t'为自己的选择,我该如何定义变量beverage.lower()'tea'?因为

if beverage.lower()=='t'or beverage.lower()=='tea':
                beverage.lower()=='tea'
Run Code Online (Sandbox Code Playgroud)

line对整个程序本身绝对没有任何影响?

while True:
        beverage=raw_input("What is your preferred beverage: coffee, or tea?")
        if beverage.lower() not in ('coffee','tea','t','c'):
            if beverage.lower()=='t'or beverage.lower()=='tea':
                beverage.lower()=='tea'
            elif beverage.lower()=='c'or beverage.lower()=='coffee':
                beverage.lower()=='coffee'
            print("Sorry! I didn't quite catch that. Please try again! (Note that you can use the letter 'c' or the letter 't' to denote coffee or tea respectively!)")
            continue
        else:
            print("Ah! Fantastic choice!")
            break
Run Code Online (Sandbox Code Playgroud)

同样,我如何定义beverage.lower()作为另一个变量输入的用户?

Vin*_*Sai 5

您的代码在流控制(if块)和值分配(===)中存在各种问题.经过一些改变后,就在这里.并尝试不混合4个空格的标签和8个空格的标签.始终坚持4个空间标签,因为它是PEP8的标准配置

while True:
    beverage = input("What is your preferred beverage: coffee, or tea?").lower() # much efficient to .lower() only once
    if beverage in ('coffee','tea','t','c'): # Change this to 'in'
        if beverage == 't' or beverage == 'tea':
            beverage = 'tea' # value assignments are done with = not ==
        elif beverage == 'c' or beverage == 'coffee':
            beverage = 'coffee' # value assignments are done with = not ==
        print('Ah! Fantastic choice!')
        print('You have chosen {}'.format(beverage))
    else:
        print("Sorry! I didn't quite catch that. Please try again! (Note that you can use the letter 'c' or the letter 't' to denote coffee or tea respectively!)")
Run Code Online (Sandbox Code Playgroud)

O/P:

What is your preferred beverage: coffee, or tea?c
Ah! Fantastic choice!
You have chosen coffee
What is your preferred beverage: coffee, or tea?t
Ah! Fantastic choice!
You have chosen tea
What is your preferred beverage: coffee, or tea?x
Sorry! I didn't quite catch that. Please try again! (Note that you can use the letter 'c' or the letter 't' to denote coffee or tea respectively!)
Run Code Online (Sandbox Code Playgroud)