如果輸入引腳(check_pin)==正確引腳(引腳)Python的 - 的base64 - 比較用戶輸入VS存儲的PIN
的check_pin和銷的測試輸出是相同的,但它不把它們看作等價物(第4行)
代碼:
pin_check = input("Please input your 4 digit PIN number: ")
print("g"+str(base64.b64encode(bytes(pin_check, "utf-8"))))
print(pin)
if "g"+str(base64.b64encode(bytes(pin_check, "utf-8"))) == pin:
y = 0
else:
v = v + 1
y = int(y) - 1
print("Incorrect PIN,",y,"attempts remaining.\n")
輸出:
Please input your 4 digit PIN number: 1234 [user input, correct pin[1234]]
gb'MTIzNA==' [stored pin]
gb'MTIzNA==' [user input pin]
Incorrect PIN, 2 attempts remaining. [it should set y = 0, not print this line]
存儲的PIN:Pin.txt由幾行:gb'MTIzNA ==」
import linecache
fo = open("Pin.txt", "r")
pin = linecache.getline('Pin.txt', int(card_no))
print(pin)
fo.close()
如果我聲明'pin'如'銷= 「gb'MTIzNA =='」'然後行'如果 「G」 + STR(base64.b64encode(字節(pin_check, 'UTF-8')))= =銷:打印( 'OK')'實際打印''ok''。這將有助於看你怎麼聲明'pin' –