好吧,我正在尝试进行初步的tamagochi选择(忽略名称,只是进行测试),但是我没有用。

当我键入2或3或Rattatouie以外的任何其他名称时,我得到:“Rattatouieéo seu novo Tamagochi!”。用英语是“Rattatouie是您的新Tamagochi!” (我是巴西人)

def pick_tamagochi():
    print('*'*20,"Tamagochi 2018",20*'*')
    print('1 - Rattatouie')
    print('2 - Rabbitack')
    print('3 - Sonic Hedgehog')
    TamagochiSelect = input('>>> Escolha seu Tamagochi:')

    if TamagochiSelect == '1' or 'Rattatouie':
        TamagochiSelect = 'Rattaouie'
        print('Rattatouie é o seu novo Tamagochi!')
    elif TamagochiSelect == '2' or 'Rabbitack':
        TamagochiSelect = 'Rabbitack'
        print('Rabbitack é o seu novo Tamagochi! ')
    elif TamagochiSelect == '3' or 'Sonic Hedgehog':
        TamagochiSelect = 'Sonic'
        print('Sonic é o seu novo Tamagochi!')
    else:
        print('Nome não compatível')

print(pick_tamagochi())

有谁知道我该怎么解决?

最佳答案

您必须使用in运算符来测试多个值:

if TamagochiSelect in ('1', 'Rattatouie'):

否则,TamagochiSelect == '1' or 'Rattatouie'只是意味着测试TamagochiSelect是否等于'1''Rattatouie'True,而'Rattatouie'始终是ojit_code(因为它是一个非空字符串)。

09-25 21:22