如何使用或操作员

时间:2017-03-20 01:51:22

标签: python python-3.x

'''
make a test to test how much you understand the code for the project

what to do


functions:
print() input()

'''

我是Python的新手。我想知道为什么这个程序给我'正确!'当我输入任何其他单词而不是'A'或'a'时。我希望这个程序只有在我输入'A'或'a'时才能回答我'。我想我仍然完全不明白什么或操作员做什么或我应该理解的其他事情。请帮帮我。

print('do you wanna take the test?(yes/no):')
answer = input()
if answer == 'yes':
    print('Q1. What do you need to think of first when to make a program?')
    print('A. What program I make? B. Write code first.')
    print('Choose which one is correct(A/B):')
    while True:
        A1 = input()
        if A1 == 'A'or 'a':
            print('correct!')

        else:
            print('Try again.')
            continue
else:
    print('May your heart be your guiding key.')

2 个答案:

答案 0 :(得分:0)

语句if A1 == 'A'or 'a'将被解释为if (A1 == 'A') or 'a',由于'a'始终为True(非零值),因此条件将始终为True

另一方面,如果您将条件语句写为if A1 in ['A', 'a'],则会检查是否A1=='A' or A1=='a'

答案 1 :(得分:0)

A1=='A' or 'a' 

检查A1 ='A',如果'a'不是None。这里第二次检查显然是正确的,因为字符串保存值'a'

因此您需要使用的条件是

if A1 in ('A','a'):
    #statements to be executed if the if condition is satisfied.

也就是说,它会检查A1是否包含列表中给出的任何值('A','a')

希望它有所帮助!