Assignment - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: Assignment (/thread-331.html) |
Assignment - tinabina22 - Oct-06-2016 This is an assignment that is due next week and I'm stuck on the for i in range code at the bottom highlighted with purple font. I have included the instructions from my professor as well as the beginning of the code. It's a password saver code that we need to make work. Beginning of code: import csv import sys #The password list - We start with it populated for testing purposes passwords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]] #The password file name to store the passwords to passwordFileName = "samplePasswordFile" #The encryption key for the caesar cypher encryptionKey=16 #Caesar Cypher Encryption def passwordEncrypt (unencryptedMessage, key): #We will start with an empty string as our encryptedMessage encryptedMessage = '' #For each symbol in the unencryptedMessage we will add an encrypted symbol into the encryptedMessage for symbol in unencryptedMessage: if symbol.isalpha(): num = ord(symbol) num += key if symbol.isupper(): if num > ord('Z'): num -= 26 elif num < ord('A'): num += 26 elif symbol.islower(): if num > ord('z'): num -= 26 elif num < ord('a'): num += 26 encryptedMessage += chr(num) else: encryptedMessage += symbol return encryptedMessage def loadPasswordFile(fileName): with open(fileName, newline='') as csvfile: passwordreader = csv.reader(csvfile) passwordList = list(passwordreader) return passwordList def savePasswordFile(passwordList, fileName): with open(fileName, 'w+', newline='') as csvfile: passwordwriter = csv.writer(csvfile) passwordwriter.writerows(passwordList) while True: print("What would you like to do:") print(" 1. Open password file") print(" 2. Lookup a password") print(" 3. Add a password") print(" 4. Save password file") print(" 5. Print the encrypted password list (for testing)") print(" 6. Quit program") print("Please enter a number (1-4)") choice = input() if(choice == '1'): #Load the password list from a file passwords = loadPasswordFile(passwordFileName) if(choice == '2'): #Lookup at password print("Which website do you want to lookup the password for?") for keyvalue in passwords: print(keyvalue[0]) passwordToLookup = input()What I need to make work: for i in range(len('yahoo, google')): print('i')#1. Create a loop that goes through each item in the password list # simplest way to loop through a list is: for i in range(len(NAMEOFLIST)) RE: Assignment - Larz60+ - Oct-06-2016 look at: for i = in range(len('yahoo', 'google')): print('i')your instructions were: Quote:#1. Create a loop that goes through each item in the password list using rangeI paraphrased. The name of your password list is passwordlist ... so, don't you think the range should be: for i in range(len(passwordlist))and you should be printing out i, not 'i' in other words: for i in range(len(passwordlist)): print(i)Don't try to over think, it's usually (not always) quite simple RE: Assignment - Skaperen - Oct-06-2016 or: print(passwordlist[i]) RE: Assignment - sparkz_alot - Oct-06-2016 You might want to also check this post http://python-forum.io/Thread-Beginner-Never-use-for-i-in-range-len-sequence?pid=1676#pid1676 RE: Assignment - tinabina22 - Oct-06-2016 I still can't get it to work with any of your suggestions, do I have the code in the right spot within the code itself? RE: Assignment - nilamo - Oct-06-2016 What's your current code, what's the current output, what's the output you're trying to have, and what's the current error (if any)? RE: Assignment - tinabina22 - Oct-06-2016 I need for this code for i in range(len("samplepasswordfile")): i = [0,1] to find these passwords passwords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]] it goes as far as #2, ask me what password I want to look up yahoo I type in google or yahoo, and it starts all over at #1 within this code import csv import sys #The password list - We start with it populated for testing purposes passwords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]] #The password file name to store the passwords to passwordFileName = "samplePasswordFile" #The encryption key for the caesar cypher encryptionKey=16 #Caesar Cypher Encryption def passwordEncrypt (unencryptedMessage, key): #We will start with an empty string as our encryptedMessage encryptedMessage = '' #For each symbol in the unencryptedMessage we will add an encrypted symbol into the encryptedMessage for symbol in unencryptedMessage: if symbol.isalpha(): num = ord(symbol) num += key if symbol.isupper(): if num > ord('Z'): num -= 26 elif num < ord('A'): num += 26 elif symbol.islower(): if num > ord('z'): num -= 26 elif num < ord('a'): num += 26 encryptedMessage += chr(num) else: encryptedMessage += symbol return encryptedMessage def loadPasswordFile(fileName): with open(fileName, newline='') as csvfile: passwordreader = csv.reader(csvfile) passwordList = list(passwordreader) return passwordList def savePasswordFile(passwordList, fileName): with open(fileName, 'w+', newline='') as csvfile: passwordwriter = csv.writer(csvfile) passwordwriter.writerows(passwordList) while True: print("What would you like to do:") print(" 1. Open password file") print(" 2. Lookup a password") print(" 3. Add a password") print(" 4. Save password file") print(" 5. Print the encrypted password list (for testing)") print(" 6. Quit program") print("Please enter a number (1-4)") choice = input() if(choice == '1'): #Load the password list from a file passwords = loadPasswordFile(passwordFileName) if(choice == '2'): #Lookup at password print("Which website do you want to lookup the password for?") for keyvalue in passwords: print(keyvalue[0]) passwordToLookup = input() for i in range(len("samplepasswordfile")): i = [0,1] RE: Assignment - Yoriz - Oct-06-2016 (Oct-06-2016, 12:58 AM)tinabina22 Wrote: #1. Create a loop that goes through each item in the password list The simplest way to loop through each item in the password list is for item in NAMEOFLIST: print(item)As passwords is a list of list you can do the loop like this passwords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]] for site, password in passwords: print(site, password) In the last post the reason the code starts all over at #1 after inputting a password is because there is no code to tell it to do anything but go back to the while loop.
RE: Assignment - tinabina22 - Oct-06-2016 (Oct-06-2016, 11:35 PM)Yoriz Wrote:(Oct-06-2016, 12:58 AM)tinabina22 Wrote: #1. Create a loop that goes through each item in the password list # simplest way to loop through a list is: for i in range(len(NAMEOFLIST))The simplest way to loop through each item in the password list isfor item in NAMEOFLIST: print(item)As passwords is a list of list you can do the loop like thispasswords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]] for site, password in passwords: print(site, password)In the last post the reason the code starts all over at #1 after inputting a password is because there is no code to tell it to do anything but go back to the while loop. Thank you very much, finally got it. Now to move on to the next part of the code I need to finish up on. |