【发布时间】:2022-01-04 17:04:06
【问题描述】:
为什么这段代码会返回多个输出 代码
a = ["w", "u", "i", "r"]
count = 0
d = input("choose: ")
for c in a:
count += 1
if d == c:
print(count)
else:
print("wrong")
如果我选择一个满足这个条件“d==c”的字符串,它会返回该字符串的位置加上“错误”三遍,
如果我选择一个不满足条件的字符串,它会输出四次错误。
如果我不包含 else 部分,它只会输出字符串的位置一次。
请问代码有什么问题,因为我需要包含 else 部分
【问题讨论】:
-
您需要将
break语句放在prints 之后,这样循环才会停止。 -
你想要代码做什么?你想让它查看整个字符串,然后打印完整的计数器或“错误”吗?
-
你不
return任何东西(你不能,因为你不在函数内部),你只是print它。 -
@samwise 是的,我想要那个,只需打印索引或错误而不是伴随的“错误”。而且我不想用索引函数,想自己写索引函数
-
然后看我的回答——关键是你不希望“错误”的情况在循环的 end 之前发生,因为不可能在您查看所有个字母之前知道输入是否错误。
标签: python python-3.x loops for-loop