一、遍历列表
通过 input输入3个人信息,每个人有姓名和年龄,将信息存入字典中,并将将字典存入列表。
遍历列表,打印每个人的信息,打印格式如下:
- 张三 20
- 李四 22
- 王五 23
1. 输入三个人的信息 (输入 input('提示信息') 可以考虑使用 循环)
2. 每个人有姓名和年龄, (都需要使用 input 输入, 一次循环两个 input)
3. 将姓名和年龄信息存入字典中 {"name": xxx, "age": xxx}/ {输入的姓名: 年龄}
4. 并将将字典存入列表。 列表.append(数据)
实现代码如下:
name_age_dict = dict()
for idx in range(3):
name_age = input("请输入[姓名,年龄][{}]:".format(idx+1))
name = name_age.split(",")[0]
age = name_age.split(",")[1]
name_age_dict[name] = age
i = 1
for name, age in name_age_dict.items():
print("{} {} {}".format(i, name, age))
i += 1
print("-" * 100)
运行结果:
二、判断字典中 ID奇偶数
my_list = [{'id': 1,'money': 10}, {'id': 2, 'money': 20},
{'id': 3, 'money': 30}, {'id': 4, 'money': 40}]
1. 如果字典中 ID 的值为奇数,则对 money 的值加 20
2. 如果字典中 ID 的值为偶数, 则对 money 的值加 10
3. 打印输出列表,查看最终的结果
实现代码如下:
my_list = [{'id': 1, 'money': 10}, {'id': 2, 'money': 20}, {'id': 3, 'money': 30}, {'id': 4, 'money': 40}]
def func():
for i in my_list:
if i.get('id') % 2 == 1:
i['money'] = i.get('money') + 20
else:
i['money'] = i.get('money') + 10
print(my_list)
func()
运行结果:
三、从程序运行的日志信息中提取数据
my_dict = {'登录': [{'desc': '正确的用户名密码', 'username': 'admin', 'password': '123456', 'expect': '登录成功'},
{'desc': '错误的用户名', 'username': 'root', 'password': '123456', 'expect': '登录失败'},
{'desc': '错误的密码', 'username': 'admin', 'password': '123123', 'expect': '登录失败'},
{'desc': '错误的用户名和密码', 'username': 'aaaa', 'password': '123123', 'expect': '登录失败'}],
'注册': [{'desc': '注册1', 'username': 'abcd', 'password': '123456'},
{'desc': '注册1', 'username': 'xyz', 'password': '123456'}]}
模拟场景:从程序运行的日志信息中 提取数据
1. 自定义以程序, 实现如下要求
2. 能够获取测试人员输入的信息(登录/测试)
3. 需要将提取到的数据组成元组类型(定义元组)
4. 需要将元组添加到一个新的列表中 append()
5. 将提取到的数据在控制台打印出来
实现代码如下:
my_dict = {
"登录": [
{
"desc": "正确的用户名密码",
"username": "admin",
"password": "123456",
"expect": "登录成功"
},
{
"desc": "错误的用户名",
"username": "root",
"password": "123456",
"expect": "登录失败"
},
{
"desc": "错误的密码",
"username": "admin",
"password": "123123",
"expect": "登录失败"
},
{
"desc": "错误的用户名和密码",
"username": "aaaa",
"password": "123123",
"expect": "登录失败"
}
],
"注册": [
{
"desc": "注册1",
"username": "abcd",
"password": "123456"
},
{
"desc": "注册1",
"username": "xyz",
"password": "123456"
}
]
}
def ceshiinform():
inform=[]
mytuple=()
opt=input("请输入需要获取的信息:")
print(f"想要获取的信息为{opt}")
if opt=='注册':
print('获取注册信息如下:')
for i in my_dict.get('注册'):
mytuple=(i.get('username'),i.get('password'))
inform.append(mytuple)
print(inform)
elif opt=='登录':
print ('获取登录信息如下:')
for i in my_dict.get('登录'):
mytuple=((i.get('username')),i.get('password'))
inform.append(mytuple)
print(inform)
ceshiinform()
运行结果:
四、计算平均分和总成绩
- 从键盘接收三门课分数,计算三门课的平均分和总成绩,编写函数实现功能
实现代码如下:
a1=input("请输入java成绩:")
a2=input("请输入C#成绩:")
a3=input("请输入DB成绩:")
b1=int(a1)
b2=int(a2)
b3=int(a3)
print("总成绩为:%d"%(b1+b2+b3))
print("均分:%d"%((b1+b2+b3)/3))
运行结果:
五、客户姓名添加和显示
- 创建函数,实现客户姓名的添加和显示 实现代码:
name1 = input('请输入客户姓名:')
name2 = input('请输入客户姓名:')
name3 = input('请输入客户姓名:')
name4 = input('请输入客户姓名:')
students = [
{'name1': name1, 'name2': name2, 'name3': name3, 'name4': name4},
]
print('*******************')
print('客户姓名列表:')
print('*******************')
print(students)
运行结果:
六、修改客户姓名
- 修改学生姓名,输入新、旧姓名,进行修改并显示是否修改成功
实现代码如下:
import pprint
name1 = input('请输入客户姓名:')
name2 = input('请输入客户姓名:')
name3 = input('请输入客户姓名:')
name4 = input('请输入客户姓名:')
students = [
{'name1': name1, 'name2': name2, 'name3': name3, 'name4': name4},
]
print('*******************')
print('客户姓名列表:')
print('*******************')
print(students)
students = [
{'name1': name1, 'name2': name2, 'name3': name3, 'name4': name4},
]
name1 = input('请输入你要修改学生的姓名:')
for stu in students:
if name1 == stu['name1']:
print('(如果不想修改,直接回车!)')
name1 = input('请重新输入学生的姓名:')
if name1:
stu['name1'] = name1
break
else:
print('该学生不存在, 请检查名字是否输入正确!')
pprint.pprint(students)
运行结果:
七、模拟银行账户业务
- 模拟银行账户业务
- 添加带参函数实现存款和取款业务
-
-
- 存款时帐户初始金额为0元
- 取款时如果余额不足给出提示
-
实现代码如下:
import datetime
class Bank(object):
account_log = []
def __init__(self, name):
self.name = name
def deposit(self, amount): # 存钱
user.balance += amount
self.write_log('存钱', amount)
def withdrawal(self, amount): # 取钱
if amount > user.balance:
print("余额不足")
else:
user.balance -= amount
self.write_log('取钱', amount)
def write_log(self, type, amount): # 写日志
now = datetime.datetime.now()
ct = now.strftime("%Y-%m-%d %H:%M:%S")
data = [self.name, user.name, ct, type, amount, f"{user.balance:.2f}"]
Bank.account_log.append(data)
class User(object):
def __init__(self, name, balance):
self.name = name
self.balance = balance
def print_log(self):
for item in Bank.account_log:
print(item)
def show_menu():
menu = '''
0: 退出
1: 存款
2: 取款
'''
print(menu)
bank = Bank("贵阳银行")
user = User('lxw-pro', 520)
while True:
show_menu()
num = int(input("请输入菜单编号:"))
if num == 0:
print("谢谢使用!")
break
elif num == 1:
print("存款")
amount = float(input("请输入存款金额:"))
bank.deposit(amount)
print(f"当前金额是{user.balance:.2f}")
elif num == 2:
print("取款")
amount = float(input("请输入取款金额:"))
bank.withdrawal(amount)
print(f"当前金额是{user.balance:.2f}")
else:
print("输入有误!")
0
运行结果: