繁体   English   中英

如何防止用户输入相同的输入?

[英]How Can I Prevent The User From Entering The Same Input?

这是我的代码,我希望您告诉我如何防止用户输入相同的输入 2 次?:

Name=input("enter Your Name: ")
Friend_name=input("Enter Your Friend's Name?")

您可以使用一个包装器,该包装器在之前没有看到答案之前不会返回。 例如:

def no_dupe_response_input(prompt):
    try:
        seen = no_dupe_response_input.seen
    except AttributeError:
        seen = no_dupe_response_input.seen = set()

    while True:
        response = input(prompt)
        if response in seen:
            print(f'You already responded "{response}". Please respond something else.')
        else:
            seen.add(response)
            return response

name = no_dupe_response_input('Enter Your Name: ')
friend_name = no_dupe_response_input('Enter Your Friend\'s Name? ')

print(f'You are {name} and your friend is {friend_name}!')

结果:

Enter Your Name: foo
Enter Your Friend's Name? foo
You already responded "foo". Please respond something else.
Enter Your Friend's Name? foo
You already responded "foo". Please respond something else.
Enter Your Friend's Name? bar
You are foo and your friend is bar!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM