我试图通过PIN码进行安全保护,但是它不起作用...该怎么做?
我一直在尝试创建要求输入PIN的程序。如果您输入的PIN码不正确3次,程序将告别您,然后程序结束。另外,如果您输入正确的PIN码,该程序将允许您继续进行下一步。
const urls = [{ name: 'site1', url: 'https://something' },
{ name: 'site2', url: 'https://something' },
{ name: 'site3', url: 'https://something' }];
Promise.all(urls.map(item => fetch(item.url)
.then(res => res.json()).catch((ex) => ex)))
.then((values) => console.log(values));
如果我启动该程序,它会说“写您的PIN码”。如果我第一次尝试输入正确的PIN码,程序将继续进行下一步,但是如果我输入3次错误的PIN码,该程序也将继续。我已经尝试过以其他方式修复它...我尝试过通过for循环来修复它,除了for循环外,但是它不起作用。我不知道现在出了什么问题...感谢我的每一个反应和建议。
答案 0 :(得分:3)
这会做同样的事情
cnf = 0
print("Vitajte v programe bankomat!")
for i in range(3):
vstup=int(input("Zadaj Váš 4-číselný PIN: "))
if vstup == 7863:
cnf = 1
break
elif vstup != 7863:
print("Nesprávny PIN kód. Počet zostávajúcich pokusov: {}".format(3-i))
continue
if cnf !=1:
print("3x zadaný zlý PIN kód. DOVIDENIA!")
答案 1 :(得分:1)
您的continue
位置错误。删除continue
:
import time
money=1000
pokus=0
pin=7863
print("Vitajte v programe bankomat!")
for i in range(3):
vstup=int(input("Zadaj Váš 4-číselný PIN: "))
if vstup == 7863:
break
elif vstup != 7863:
pokus=pokus+1
print("Nesprávny PIN kód. Počet zostávajúcich pokusov: {}".format(3-pokus))
# removed the continue here
if pokus == 3:
print("3x zadaný zlý PIN kód. DOVIDENIA!")
time.sleep(3)
quit()
elif pokus < 3:
continue
除非您绝对需要,否则我也建议使用break
而不是quit()
。
答案 2 :(得分:1)
删除第一个continue
和最后一个elif
(因为它没有用):
import time
money=1000
pokus=0
pin=7863
print("Vitajte v programe bankomat!")
for i in range(3):
vstup=int(input("Zadaj Váš 4-číselný PIN: "))
if vstup == 7863:
break
elif vstup != 7863:
pokus=pokus+1
print("Nesprávny PIN kód. Počet zostávajúcich pokusov: {}".format(3-pokus))
if pokus == 3:
print("3x zadaný zlý PIN kód. DOVIDENIA!")
time.sleep(3)
quit()
答案 3 :(得分:1)
此代码将以更简洁的方式执行此操作。
import time
correct_pin_code = 7863
incorrect_inputs = 0
while(incorrect_inputs <= 3):
if(incorrect_inputs == 3):
print("Too many failed attemps, quitting")
quit()
input_pin = int(input("Enter your 4 digits PIN code"))
if(input_pin == correct_pin_code):
print("Correct PIN code")
break
else:
print("Wrong PIN code, " + str(3 - incorrect_inputs) + "attemps left")
time.sleep(3)
答案 4 :(得分:0)
我认为您必须在条件中包括尝试次数以及输入。 您可以尝试这样的事情:
pin = 7863
test = 2
while int(input()) != pin and test > 0:
print("Incorrect pin. Try again.")
test -= 1
if test == 0:
print("quit")
quit()
print("OK. Continue the next phase.")