我的代码有问题,它应该打印“你有一个罕见的姓氏!”或者一个非常罕见的例子,如果你在输入的字符串中有q或q,如果没有,它将不打印q,但它不会打印no q
这里是我的非工作代码:
a = input("What is your surname? ")
d = len(a)
v = ["q", "Q"]
if any(v in a for v in a):
if a[0] == "Q" :
if a[0] == ("q"):
print("You have an extremly rare surname!")
if a[0] == ("Q"):
print("You have an extremly rare surname!")
if a[0] == "q" :
if a[0] == ("q"):
print("You have an extremly rare surname!")
if a[0] == ("Q"):
print("You have an extremly rare surname!")
if "q" in a[1:d]:
print("You have a rare surname!")
else:
print("No Qs here.")
你的条件
if any(v in a for v in a)
没有意义,你正在测试v
是否在a
中,但同时将v
定义为a
的一部分,这是没有意义的另外,你的其他条件也很糟糕,你测试第一个字母是否是
Q
,如果是真的,你测试它是否真的是q
你的整个程序可以写成
如果您不了解我使用的任何条件,我强烈建议您回去重新学习条件的基本python语法,以便下次编写得更好
另一种简化代码的方法是使用^{} 将字符串转换为小写,并使用字符串slice检查不带第一个字符的字符串:
试试看here!
相关问题 更多 >
编程相关推荐