Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. from random import *
  2. import csv
  3. import string
  4. def menu_selector():
  5. #gets user input and validates it.
  6. invalid_input = True
  7. while invalid_input:
  8. try:
  9. user_choice = int(input('choose an option'))
  10. if user_choice == 1:
  11. #print('Register was selected')
  12. register_user()
  13. invalid_input = False
  14. elif user_choice == 2:
  15. #print('Login was selected')
  16. login_user()
  17. invalid_input = False
  18. elif user_choice == 3:
  19. #print('Quit was selected')
  20. invalid_input = False
  21. exit()
  22. else:
  23. print('Only numbers 1, 2 or 3 can be entered')
  24. except ValueError:
  25. print('Only numbers 1, 2 or 3 can be entered')
  26.  
  27.  
  28. def register_user():
  29. print('Register user invoked')
  30. write_user_data()
  31.  
  32.  
  33. def login_user():
  34. login()
  35.  
  36.  
  37. def main_menu():
  38. #displays main menu
  39. title = '''
  40. Welcome to my system
  41. --------------------'''
  42. menu = '''
  43. 1. Register
  44. 2. Login
  45. 3. Quit'''
  46.  
  47. print(title)
  48. print()
  49. print(menu)
  50. menu_selector()
  51.  
  52. def loginmenu(username):
  53. title = 'Welcome '+ username
  54. deco = '-'
  55.  
  56. menu = '''
  57. 1. Quiz
  58. 2. Manage (Admin Only)
  59. 3. Quit'''
  60.  
  61. print(title)
  62. print(deco *len(title))
  63. print()
  64. print(menu)
  65.  
  66.  
  67. def test():
  68. print("Complete")
  69.  
  70.  
  71.  
  72. def login():
  73. with open("student_data.csv", "r") as file:
  74. read=csv.reader(file)
  75. invalid_login = True
  76. while invalid_login:
  77. username = input ('What is your username')
  78. password = input ('What is your password')
  79. for each in read:
  80. #print (each)
  81. if username in each and password in each:
  82. print ('Login Successful')
  83. invalid_login = False
  84. break
  85.  
  86. elif username not in each and password not in each:
  87. print('Incorrect username or password')
  88. loginmenu(username)
  89.  
  90. def get_validate_userdata():
  91. missing_data = True
  92. while missing_data:
  93. name = input ('Enter your name: ')
  94. surname = input ('Enter your surname: ')
  95. age = input ('Enter your age')
  96. group = input ('Enter your yeargroup: ')
  97. password = password_check()
  98. if name == '' or surname == '' or group == '' or password == '' or age == '':
  99. print ('Fields cannot be blank')
  100. else:
  101. missing_data = False
  102. username =str(randint(10,99))+name[0:2]+surname[0:2]
  103. return (username, name, surname, group, age, password)
  104. break
  105.  
  106. def password_check():
  107. incorrect_data = True
  108. while incorrect_data:
  109. password = input ('Enter your password: ')
  110. for each in password:
  111. if each in string.ascii_uppercase:
  112. print('')
  113. incorrect_data = False
  114. break
  115. else:
  116. print ('Weak password, Your password must contain a capital letter')
  117. return password
  118.  
  119. def write_user_data():
  120. data = get_validate_userdata()
  121. data_to_write = []
  122. for each in data:
  123. data_to_write.append(each)
  124. print (data_to_write)
  125. with open ('student_data.csv','a',newline="") as studentFile:
  126. studentFileWriter = csv.writer(studentFile)
  127. studentFileWriter.writerow(data_to_write)
  128. print('data written successfully')
  129. studentFile.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement