为什么Aren这些参数在Python 3上工作?

时间:2014-10-11 20:21:35

标签: python arguments

我是一名刚开始编码的新手编码器,大约4-5周前。我所取得的最好成绩是“绝密”网站的基本Python用户名和密码登录页面(该网站是假的)。然而,为了刷新我对基本编码的记忆(我最近一直在做一些不相关的事情),我尝试制作一个基本的儿童游戏来处理字母表。这是我目前的代码:

name = input("What's Your Name?:  ")
print("Welcome" , name , "to the 3 lucky guess alphabet skills builder!")
print("Let's get started:")
C = input("What Is The 3rd Letter of The Alphabet:  ")
if C == 'C' or 'c':
    print("Congraulations!")
else:
    print("Think We Should Retry That!")
    C
    if C == 'C' or 'c':
          print("That's Better!")
Z = input("What Is The Last Letter of The Alphabet:  ")
if Z == 'Z' or 'z':
    print("You're Really Good At This! One More!")
else:
    print("Have Another Go!")
    Z
    if Z == 'Z' or 'z':
        print("That's More Like It! Last One!")
J = input("What Is The 10th Letter Of The Alphabet:  ")
if J == 'J' or 'j':
    print("Great! How Many Did You Get In Total?")
else:
    print("Unlucky, Better Luck Next Time!")

total = input("How Many Did You Get In Total?:  " , print("Out Of 3!")
print("Wow! You Got" , total , "! Well Done" , name , "!!!")
exit

为什么没有任何“其他”参数有效?

此外,为什么第二位到最后一位代码不起作用 - 它只是声明语法错误!

我尝试缩进所有else语句,但这也会导致语法错误!

请帮忙! :)

2 个答案:

答案 0 :(得分:2)

您编写的if语句,如下所示

if C == 'C' or 'c':

没有做你的意思。 or之后的表达式只是检查'c'是否计算为true,它始终是。这就是else:之后的代码无法执行的原因。

你必须这样写:

if C == 'C' or C == 'c':

答案 1 :(得分:1)

很难通过“不工作”来了解你的意思 - 你应该更加具体地了解你所看到的错误。你指的是这个吗?

else:
    print("Have Another Go!")
    Z
    if Z == 'Z' or 'z':
        print("That's More Like It! Last One!")

身体的第二行简单地评估变量Z--它不会改变任何东西。因此,它后面的条件仍然返回与上次评估它时相同的结果。

另外,正如其他答案所指出的那样,

if a = "foo" or "bar"

将始终为True,因为“bar”是非假值,并且任何非假值都是True。