如何修复错误:“字符串中”要求字符串作为左操作数而不是元组?

2024-09-29 03:33:48 发布

您现在位置:Python中文网/ 问答频道 /正文

lnames = ("Mincan","Farcasel")
auth1 = input(str("Please enter your first name, Player 1:"))
if fnames in auth1:
    print("Name authorized.")
auth2 = input(str("Please enter your last name, Player 1:"))
if lnames in auth2:
    print("Name authorized. You may proceed")
auth3 = input(str("Please enter your first name, Player 2:"))
if fnames in auth3:
    print("Name authorized.")
auth4 = input(str("Please enter your last name, Player 2:"))
if lnames in auth4:
    print("Name authorized. You may proceed.")

所以我的问题是每当我尝试运行它时,它都会给我一个错误 "in string" requires string as left operand not tuple


Tags: nameininputyouriffirstplayerauthorized
3条回答

您需要将if语句更改为:if auth1 in fnames。目前,您要求python检查元组lnames是否是字符串auth1的成员,但它不能这样做

假设fnames是一个元组,并且您想检查输入字符串是否在元组中,那么它应该是if auth1 in fnames以此类推,而不是反过来检查字符串是否是元组中的元素,而不是反过来检查

原因是您使用lnames = ("Mincan","Farcasel")lnames定义为元组

然后,下面的代码会导致该错误,其中lnames是一个元组对象,auth2是一个字符串obejct

if lnames in auth2:
    print("Name authorized. You may proceed")

您可以将if lnames in auth2:更改为if auth2 in lnames:

顺便说一句fnamesif语句中未定义,您可以将其相关语句更改为上述语句

相关问题 更多 >