1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Elina [12.6K]
3 years ago
14

In this assignment, you will implement an online banking system. Users can sign-up with the system, log in to the system, change

their password, and delete their account. They can also update their bank account balance and transfer money to another user’s bank account.
You’ll implement functions related to File I/O and dictionaries. The first two functions require you to import files and create dictionaries. User information will be imported from the "users.txt" file and account information will be imported from the "bank.txt" file. Take a look at the content in the different files. The remaining functions require you to use or modify the two dictionaries created from the files.
Each function has been defined for you, but without the code. See the docstring in each function for instructions on what the function is supposed to do and how to write the code. It should be clear enough. In some cases, we have provided hints to help you get started.
def import_and_create_dictionary(filename):
'''
This function is used to create a bank dictionary. The given argument is the filename to load.
Every line in the file will look like
key: value
Key is a user's name and value is an amount to update the user's bank account with. The value should be a
number, however, it is possible that there is no value or that the value is an invalid number.
What you will do:
- Try to make a dictionary from the contents of the file.
- If the key doesn't exist, create a new key:value pair.
- If the key does exist, increment its value with the amount.
- You should also handle cases when the value is invalid. If so, ignore that line and don't update the dictionary.
- Finally, return the dictionary.
Note: All of the users in the bank file are in the user account file.
'''
d = {}
# your code here
return d
##########################
### TEST YOUR SOLUTION ###
##########################
bank = import_and_create_dictionary("bank.txt")
tools.assert_false(len(bank) == 0)
tools.assert_almost_equal(115.5, bank.get("Brandon"))
tools.assert_almost_equal(128.87, bank.get("James"))
tools.assert_is_none(bank.get("Joel"))
tools.assert_is_none(bank.get("Luke"))
tools.assert_almost_equal(bank.get("Sarah"), 827.43)
#user.txt
Brandon - brandon123ABC
Jack
Jack - jac123
Jack - jack123POU
Patrick - patrick5678
Brandon - brandon123ABCD
James - 100jamesABD
Sarah - sd896ssfJJH
Jennie - sadsaca
#bank.txt
Brandon: 5
Patrick: 18.9
Brandon: xyz
Jack:
Sarah: 825
Jack : 45
Brandon: 10
James: 3.25
James: 125.62
Sarah: 2.43
Brandon: 100.5
Computers and Technology
1 answer:
Natalka [10]3 years ago
6 0

Answer:

# global variable for logged in users

loggedin = []

# create the user account list as a dictionary called "bank".

def import_and_create_dictionary(filename):

   bank = {}

   i = 1

   with open(filename, "r") as file:

       for line in file:

           (name, amt) = line.rstrip('\n').split(":")

           bank[i] = [name.strip(), amt]

           i += 1

   return bank

#create the list of user login details.

def import_and_create_accounts(filename):

   acc = []

   with open(filename, "r") as file:

       for line in file:

           (login, password) = line.rstrip('\n').split("-")

           acc.append([login.strip(), password.strip()])

   return acc

# function to login users that are yet to login.

def signin(accounts, login, password):

   flag="true"

   for lst in accounts:

       if(lst[0]==login and lst[1] == password):

           for log in loggedin:

               if(log ==login):

                    print("You are already logged in")

                    flag="false"

           break                    

       else:

           flag="false"  

   if(flag=="true"):

       loggedin.append(login) # adding user to loggedin list

       print("logged in succesfully")

       return True

   return False

# calling both the function to create bank dictionary and user_account list        

bank  = import_and_create_dictionary("bank.txt")            

print (bank)

user_account = import_and_create_accounts("user.txt")

print(user_account)

# check for users loggedin

signin(user_account,"Brandon","123abcAB")

signin(user_account,"James","100jamesABD")

signin(user_account,"Sarah","sd896ssfJJH")

Explanation:

The python program is a banking application system that creates a list of user accounts and their login details from the bank.txt and user.txt file. The program also uses the information to log in and check for users already logged into their account with the "loggedin" global variable.

You might be interested in
People who work the total hours for which they get paid have
Troyanec [42]
Perfect attendance and a salary
7 0
3 years ago
Read 2 more answers
A _______ attack uses software to try thousands of common words sequentially in an attempt to gain unauthorized access to a user
sergeinik [125]
<h2>A <u>Rogue attack</u> utilizes software just to attempt hundreds of frequent phrases in a row.</h2>

  • Rogue access equipment would be any WLAN radio channel that isn't even authorized to communicate or join the corporate connection.
  • Whenever they have been misconfigured as well as set up without authentication, it creates a new security vulnerability potentially gaining simple access to a private network.

Thus the response above is correct.

Learn more about software attacks here:

brainly.com/question/25407509

7 0
3 years ago
Read 2 more answers
Why are typewriter keys arranged the way they are?
loris [4]
They are arranged the way they are because of the QWERTY layout. It was used to slow down how people typed so they wouldn't get the typewriter jammed. Hope this helps. :)
4 0
4 years ago
An organization's IRP prioritizes containment over eradication. An incident has been discovered where an attacker outside of the
djyliett [7]

Answer:

a. Remove the affected servers from the network.

Explanation:

An organization's incident response process (IRP) can be defined as all of the process involved in the cleanup and recovery of data when they fall victim to an attack or cybersecurity breach. The incident response process comprises of six (6) important stages and these are;

1. Preparation.

2. Detection and analysis (identification).

3. Containment.

4. Eradication.

5. Recovery.

6. Review of incident activities.

When an organization's IRP prioritizes containment over eradication and an incident is discovered, where an attacker outside the organization installed a crypto-currency mining software on the organization's web servers. Given the organization's stated priorities, the cybersecurity engineer should remove the affected servers from the network.

A containment process is focused on taking steps to eliminate or contain the attack. It basically involves acting swiftly in response to the attack, so as to prevent it from spreading across board or in order to mitigate the damage already caused.

In this context, the cybersecurity engineer should remove the affected servers from the network in accordance with the organization's IRP priority (containment).

<em>Furthermore, he could take a step further to contain the attack by installing a firewall and updating their policies in the Intrusion Prevention System (IPS) of the organization. </em>

5 0
3 years ago
Give any 3 examples of mainframe computers .
Eddi Din [679]
3 Examples of mainframe computers
z900
System z9
System z10
5 0
3 years ago
Other questions:
  • What is computer ????
    11·1 answer
  • Garry is a record executive who is building a data table to include in a presentation about one of his artists. The table is mea
    15·1 answer
  • All of the following are strategies to help you prepare for standardized test except <br>​
    5·1 answer
  • Fill in the blank with the letter HTML
    14·1 answer
  • For this assignment, select one of the organizations with a prominent IT department from the Topic 1 assignment. Once identified
    11·1 answer
  • Sometimes a database can contain "bad data," meaning incomplete, incorrect, inaccurate, or irrelevant records, which can be corr
    7·1 answer
  • Can find error , suppose to print what season it is and if fails : Traceback (most recent call last):
    11·1 answer
  • Which of the following statements are true concerning abstraction and refinement? Select 3 options:
    14·1 answer
  • Laptop computers use PCMCIA cards, another type of ________
    15·1 answer
  • to troubleshoot an output component or input device, the first step is to activate the input device that controls the first outp
    5·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!