Advertisement
Soixante

Untitled

Jun 17th, 2021
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. import random
  2.  
  3. user_input = None
  4.  
  5. card_number = None
  6. card_pin = None
  7.  
  8.  
  9. def main_menu():
  10. print('1. Create an account')
  11. print('2. Log into an account')
  12. print('0. Exit')
  13. print()
  14.  
  15. global user_input
  16. user_input = int(input())
  17.  
  18.  
  19. def create_account():
  20. if user_input == 1:
  21. print("Your card has been created")
  22.  
  23. global card_number
  24. card_number = random.randint(4000001111111111, 4000009999999999)
  25.  
  26. print("This is your card number: ")
  27. print(int(card_number))
  28.  
  29. verify_card_number(card_number)
  30.  
  31. global card_pin
  32.  
  33. card_pin = random.randint(1001, 9999)
  34.  
  35. print("Your card pin: ")
  36. print(int(card_pin))
  37. print()
  38.  
  39. main_menu
  40.  
  41.  
  42. def log_into_account():
  43. if user_input == 2:
  44. print("Enter your card number: ")
  45. user_entered_card_number = int(input())
  46.  
  47. print("Enter your PIN ")
  48. user_entered_pin = int(input())
  49.  
  50. compare_informations(user_entered_card_number, user_entered_pin)
  51.  
  52. print()
  53.  
  54.  
  55. def compare_informations(user_entered_card_number, user_entered_pin):
  56. if user_entered_card_number == card_number and user_entered_pin == card_pin:
  57. print("You have successfully logged in!")
  58. login_menu()
  59. else:
  60. print("Wrong card number or PIN!")
  61. print()
  62. main_menu()
  63.  
  64.  
  65. def exit_program():
  66. if user_input == 0:
  67. exit()
  68.  
  69.  
  70. def verify_card_number(card_number):
  71. check_sum = card_number % 10
  72. card_number = str(card_number)[:-1]
  73. card_number_list = [int(x) for x in str(card_number)]
  74. for i in range(len(card_number_list)):
  75. if i % 2 == 0:
  76. card_number_list[i] = card_number_list[i] + card_number_list[i]
  77.  
  78. for j in range(len(card_number_list)):
  79. if 9 < card_number_list[j]:
  80. card_number_list[j] = card_number_list[j] - 9
  81.  
  82. strings = [str(k) for k in card_number_list]
  83. string_of_num = "".join(strings)
  84. orig_card_number = int(string_of_num)
  85.  
  86. # Sum of digits
  87. sum_of_digit = 0
  88. for digit in str(orig_card_number):
  89. sum_of_digit += int(digit)
  90.  
  91. all_sum = sum_of_digit + check_sum
  92.  
  93. if all_sum % 10 == 0:
  94. return str(orig_card_number)
  95.  
  96.  
  97. def login_menu():
  98. print("1. Balance")
  99. print("2. Logout")
  100. print("0. Exit")
  101. print()
  102.  
  103. user_input_login_menu = int(input())
  104. if user_input_login_menu == 1:
  105. print("Balance: 0")
  106. print()
  107. elif user_input_login_menu == 2:
  108. print("You have successfully logged out")
  109. print()
  110. main_menu()
  111. elif user_input_login_menu == 0:
  112. print("Bye!")
  113. exit()
  114.  
  115.  
  116. while True:
  117. main_menu()
  118. create_account()
  119. log_into_account()
  120. exit_program()
  121.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement