Python if/elif/else语句不';不要随意选择

Python if/elif/else语句不';不要随意选择,python,python-3.x,if-statement,Python,Python 3.x,If Statement,无论输入是什么,始终使用else语句。为什么 我知道不会那么难,但我刚开始说:)你应该做到: 如果(r in('7,8','7.8','78'))和(问题1=='cbca'):您将问题1声明为列表。在其上应用random.choice不会更改其值,因此以后它仍然是一个列表。将random.choice的结果放入一个变量中,并比较此变量 import random print('hello') question1 = [' cbca', ' cbbca'] print("What's equ

无论输入是什么,始终使用else语句。为什么

我知道不会那么难,但我刚开始说:)

你应该做到:


如果(r in('7,8','7.8','78'))和(问题1=='cbca'):

您将
问题1
声明为列表。在其上应用
random.choice
不会更改其值,因此以后它仍然是一个列表。将
random.choice
的结果放入一个变量中,并比较此变量

import random
print('hello')
question1 = [' cbca', ' cbbca']



print("What's equal to" + random.choice(question1) + "?")
r = input()
if r in ('7,8', '7.8', '78') and question1 == ' cbca' : 

    print("That's correct!")

elif r in ('1', '1,0') and str(question1) == ' cbbca' :
    print("That's correct!")

else :
    print('r')

关于“休息”有什么进展吗?如果没有a,很难弄清楚你在问什么。对不起,elseNote总是说,你实际上没有将列表中的随机选择存储在任何地方;而且不可避免地
str(['cbca','cbbca'])!='cbca'
。检查您在
if
elif
中使用的相等条件。这就是你的答案。
问题1
是一个列表,因此永远不能等于
“cbca”
“cbbca”
。想解释一下原因吗?因为在启动python时,计算“r in('7,8','7.8','78')”,在它之后计算“r in('7,8','7.8','78')和问题1”,在“r in('7,8','7.8','78')和问题1='cbca')。这是错误的,因为
question1
是一个列表,而不是字符串。这并不能解决OP的问题。解释也是错误的。谢谢,现在它可以工作了!
import random
print('hello')
question1 = [' cbca', ' cbbca']

question = random.choice(question1) # Remember the choice of random

print("What's equal to" + question + "?")
r = input()
if r in ('7,8', '7.8', '78') and question == ' cbca' :

    print("That's correct!")

elif r in ('1', '1,0') and question == ' cbbca' :
    print("That's correct!")

else :
    print('r')