我正在尝试使用if else条件获取代码。我希望从if else条件获取值。
当前,如果条件有效,则不适用于其他条件。
mname=input("Enter name: ")
m=[]
if mname=="CS1TFD22" or "cs1tfd22":
mcode='CS122S003'
if l1l2=="NULL":
icode = 'CS122S003d13_mh_'
elif l1l2!="NULL":
icode = 'CS122S003d13_L1_mh_'
else:
for i in mname:
m.append(i)
mcode = 'CS1'+m[5]+m[6]+'S003'
if l1l2=="NULL":
icode='CS1'+m[5]+m[6]+'S003d113_mh_'
elif l1l2 != "NULL":
icode = CS1'+m[5]+m[6]+'S003d13_L1_mh_'
print(mcode,icode)
如果mname不是'CS1TFD22',则我得到的输出始终是mcode ='CS122S003'和icode ='CS122S003d13_L1_mh_'。例如,如果我输入mname作为CS1TFD23,则icode应该是'CS123S003'并且icode应该是'CS123S003d13_mh'
还要如何为其他条件工作?
答案 0 :(得分:2)
您的if语句始终评估为true,因为您评估的是字符串的逻辑true / false。您应该使用
if mname=="CS1TFD22" or mname=="cs1tfd22":
或
if mname in ("CS1TFD22","cs1tfd22"):
答案 1 :(得分:1)
代替
if mname=="CS1TFD22" or "cs1tfd22":
使用
if mname=="CS1TFD22" or mname=="cs1tfd22":
答案 2 :(得分:1)
代码中的某些错误
您不是通过if mname=="CS1TFD22" or "cs1tfd22":
而是通过if mname=="CS1TFD22" or mname=="cs1tfd22":
检查两个或多个条件,也可以通过执行if mname.lower()=="cs1tfd22":
来简化此操作。
您不需要elif
中多余的if l1l2=="NULL":
,只需else
就可以了。
icode = CS1'+m[5]+m[6]+'S003d13_L1_mh_'
中的单引号li2
,不确定您从何处获取它,因此我将其作为代码中的输入内容具有所有这些问题的代码可能看起来像这样
mname=input("Enter name: ")
l1l2=input("Enter l1l2")
m=[]
#Convert mname to lower case and then compare
if mname.lower() == 'cs1tfd22':
mcode='CS122S003'
#If-else case 1
if l1l2=="NULL":
icode = 'CS122S003d13_mh_'
else:
icode = 'CS122S003d13_L1_mh_'
else:
for i in mname:
m.append(i)
mcode = 'CS1'+m[5]+m[6]+'S003'
# If-else case 1
if l1l2=="NULL":
icode='CS1'+m[5]+m[6]+'S003d113_mh_'
else:
icode = 'CS1'+m[5]+m[6]+'S003d13_L1_mh_'
print(mcode,icode)
您的代码中的一些输出将是。
Enter name: cs1tfd22
Enter l1l2: NULL
CS122S003 CS122S003d13_mh_
Enter name: abcdefgh
Enter l1l2: NULL
CS1fgS003 CS1fgS003d113_mh_
Enter name: xyzabcd
Enter l1l2: HELLO
CS1cdS003 CS1cdS003d13_L1_mh_
答案 3 :(得分:0)
别忘了最后一行CS1之前的'标记。
mname=input("Enter name: ")
m=[]
l1l2=input("Enter l1l2: ")
if mname=="CS1TFD22" or "cs1tfd22":
mcode='CS122S003'
if l1l2=="NULL":
icode = 'CS122S003d13_mh_'
else:
icode = 'CS122S003d13_L1_mh_'
else:
for i in mname:
m.append(i)
mcode = 'CS1'+m[5]+m[6]+'S003'
if l1l2=="NULL":
icode='CS1'+m[5]+m[6]+'S003d113_mh_'
else:
icode = 'CS1'+m[5]+m[6]+'S003d13_L1_mh_'
print(mcode,icode)