Completed 10-13 User Dictionary
This commit is contained in:
parent
37bbfa1d0b
commit
cca2d5153d
45
Chapter_10/10-13_user_dictionary.py
Normal file
45
Chapter_10/10-13_user_dictionary.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# Exercise 10-13 User Dictioinary
|
||||||
|
# Learning Objective: Save/Load json using json dumps/loads.
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
import json
|
||||||
|
|
||||||
|
def get_stored_info(path):
|
||||||
|
"""Get stored username if available."""
|
||||||
|
if path.exists():
|
||||||
|
contents = path.read_text()
|
||||||
|
information = json.loads(contents)
|
||||||
|
return information
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_information(path):
|
||||||
|
"""Prompt for information."""
|
||||||
|
data = {
|
||||||
|
|
||||||
|
}
|
||||||
|
username = input("What is your name? ")
|
||||||
|
location = input("What country/state are you in? ")
|
||||||
|
age = input("How old are you? ")
|
||||||
|
data["username"] = username
|
||||||
|
data["location"] = location
|
||||||
|
data["age"] = age
|
||||||
|
save_data = json.dumps(data)
|
||||||
|
path.write_text(save_data)
|
||||||
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
def greet_user():
|
||||||
|
"""Greet the user by name."""
|
||||||
|
path = Path('user_info.json')
|
||||||
|
information = get_stored_info(path)
|
||||||
|
if information:
|
||||||
|
print(f"Welcome back, {information["username"]}! We remember that you are from {information["location"]} and that you are {information["age"]} years old since the last time you ran this.")
|
||||||
|
else:
|
||||||
|
entered_data = get_information(path)
|
||||||
|
print(f"We'll remember this information for when you come back, \n")
|
||||||
|
for i in entered_data:
|
||||||
|
print(f"{entered_data[i]}")
|
||||||
|
|
||||||
|
greet_user()
|
||||||
|
|
||||||
1
user_info.json
Normal file
1
user_info.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"username": "Steve", "location": "CZ", "age": "32"}
|
||||||
Loading…
x
Reference in New Issue
Block a user