如果等于字典的声明?

Sam*_*mer -2 python

晚上的人,

Python的新手,想知道是否有人可以快速查看我正在开发的POS系统的开头.

我希望员工必须输入他们的ID号来操作系统.所以我将员工姓名和号码放在字典中.并尝试使用If/Else函数将输入与Employee ID进行匹配.非常感谢任何指导.

employee_IDs = {'Sam': 407427,
                'Bart': 101026,
                'Mike': 445002,
                }
employee_number = input('Employee ID: ')

if employee_number != employee_IDs:
    print("Invalid employee ID")
else:

    name = input('Enter Your Name: ')
    address = input('Enter Your Address: ')
    phone_number = input('Enter Your Phone Number: ')
    print('Hello', name,'!!! What would you like to order?')
    print("{:" "^80}".format(""))
Run Code Online (Sandbox Code Playgroud)

谢谢!

idj*_*jaw 5

您应该解决的代码中存在一些基本问题.

这里要实现的第一件事是该input()函数将始终返回一个字符串.考虑到这一点,如果您实际上将字符串与整数进行比较(字典中有一个整数),您将永远不会通过相等性检查.

需要注意的第二个问题是,您实际上从未正确查看要验证的数据是否您的字典中.

当你这样做:

employee_number != employee_IDs
Run Code Online (Sandbox Code Playgroud)

您没有执行适当的包含检查以查看您的数据是否在字典中.

如果你想要做的就是验证该EMPLOYEE_ID是不是有效的,那么你需要检查的字典.这可以通过values针对字典调用方法,然后使用包含检查来完成in:

if employee_id not in employee_IDs.values()
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用!因为employee_id是一个字符串而你的值都是整数,所以你需要调用intemployee_id来实际比较正确的类型:

if int(employee_id) not in employee_IDs.values()
Run Code Online (Sandbox Code Playgroud)

我建议你阅读字典文档,并花时间阅读Python教程的一些相关部分,这将极大地帮助你学习和解决代码中的一些问题.