问题描述
我对编程和尝试创建一个程序相当陌生,在该程序中,用户通过使用随机库获取 OTP,并仅在文件匹配时才申请登录以获取对文件的访问权限,否则权限被拒绝。不确定我在这里做错了什么,因为它在我运行时进入无限循环。下面是我的代码:
def rand_pass(size):
generate_pass=''.join([random.choice(string.ascii_uppercase+string.ascii_lowercase+string.digits)for n in range(size)])
return generate_pass
OTP = rand_pass(10)
print('password:'+OTP)
Password = input('enter your OTP here:')
OTP = input('enter your OTP here:')
new_otp = "OTP"
OTP = new_otp
while OTP != "new_otp":
print('Welcome')
if OTP == "new_otp":
print('welcome')
break
else:
print('ACCESS DENIED.')
continue
提前致谢。
解决方法
因此,根据您的要求,您可以按照以下代码进行操作。您只需要不断检查,直到用户输入正确的 otp。如果用户输入错误的 otp 显示 ACCESS DENIED 并再次要求输入 otp
import random
import string
def rand_pass(size):
generate_pass=''.join([random.choice(string.ascii_uppercase+string.ascii_lowercase+string.digits)for n in range(size)])
return generate_pass
generated_otp = rand_pass(10)
print('new OTP :'+generated_otp)
while True:
OTP = input('enter your OTP here:')
if OTP == generated_otp:
print('Correct OTP')
break
else:
print('ACCESS DENIED.')
continue
@GhostwhiteActualCompilers 请告诉我这是否有用。