我是一名刚开始编码的新手编码器,大约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语句,但这也会导致语法错误!
请帮忙! :)
答案 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。