Python 如何允许识别此if语句?
我试图为登录代码创建一个循环,并且一直在努力格式化此代码,以达到第(16)行的“用户接受”。如何重新格式化此代码以允许此代码正常工作Python 如何允许识别此if语句?,python,if-statement,Python,If Statement,我试图为登录代码创建一个循环,并且一直在努力格式化此代码,以达到第(16)行的“用户接受”。如何重新格式化此代码以允许此代码正常工作 ##### USER INFO ##### Users = { 'jc1':123 ,'jc2':213 ,'jc3':312 ,'jc4':321 ,'jc5':231} ADPIN = '14726' ##### LOG-IN ##### while True: #Loop Creation JK = input('Please
##### USER INFO #####
Users = {
'jc1':123
,'jc2':213
,'jc3':312
,'jc4':321
,'jc5':231}
ADPIN = '14726'
##### LOG-IN #####
while True: #Loop Creation
JK = input('Please enter your username: ') #Username Check
if JK in Users:
DK = input('Please enter your password: ') #Password Check
print('Bug Text Main')
if JK and DK in Users: #Problem Statement
print('User Accepted: Hello '+JK+'.') #Unreachable Code
print('Objective Text')
else:
ToC = input('It appears that the username entered does not exist: Would you like to try again(Press: 1) or create an account(Press: 2)') #Retry / Account Creation
if ToC == '2':
AD = input('Please enter an administrative pin: ')
if AD == ADPIN:
add = input('Please enter a username: ')
tht = input('Please enter a password: ')
Users.update( {add:tht})
print('Bug Test Users Append')
else: #Restart / Retry
print('Bug Test Restart')
将第13行改为
DK = int(input('Please enter your password: ')) #Password Check
而if语句
if DK in Users.values(): #Problem Statement
我假设
用户
字典键是用户ID,值是相应的密码。然后:
如果您遇到以下“问题陈述”,您知道JK
位于Users
中,因此JK
的计算结果为True
,因此请更换:
if JK and DK in Users: #Problem Statement
与:
最初的语句是根据字典中的所有用户ID测试密码
另一个问题是,在输入字符串时,字典值是int值。因此,要么将字典值更改为类似“121”的字符串,要么将输入语句更改为:
DK = int(input('Please enter your password: ')) #Password Check
但是请注意,如果用户输入的不是有效的整数,上述操作将引发异常。因此,您可能希望将上述内容放入
try
块。那么您是用我的密码登录的吗?为什么要密码保护?`@Patrick Artner这不是我的问题,我只是在解决他的错误,他的语法背后的想法是他的…我总是先尝试“密码”。。。现在你的修复破坏了整个程序-可能也不是你的问题?@Patrick Artner事实上不是,因为你不知道他是如何改进这段代码的,也许你现在指出的问题,可能在他以后的待办事项列表中…或者他不知道,但那是他的…我正在修复他提到的问题,这正以他尝试的方式到达他的代码中,但以一种有效的方式…伙计们,我用python编写代码已经一周了,语法被支持为使用用户名和密码系统的登录系统。密码不必是int值,如果需要,它们可以更改,与配置文件名相同。jc1-5。我只是想找到一种方法,使用上面提到的if语句创建一个工作代码。由于代码只是一次又一次地循环询问用户名和密码…如果用户[JK]==int(DK):
。。和处理int(“noideahavenow”)
输入上的ValueErrors。这是有用的信息,但我仍然收到相同的错误。当我运行代码时,它仍然没有到达用户接受行。没关系。。。我意识到了这个问题,但是这个检查字典的格式非常有用,谢谢!
DK = int(input('Please enter your password: ')) #Password Check