1.写一个代码片段统计一个字符串中出现的字符及其个数。(至少2种方式:分别使用列表和字典来实现)
例如对于字符串“abcaaabcd”,统计的结果是:a(4个)b(2个)c(2个)d(1个)
2.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环),输入结束打印列表
如果用户输入的信息已经存在,则提示用户所输内容已存在,不再重复添加。
提示:对于输入内容,需要考虑大小写和空格的情况
3.有如下值 li= [11,22,33,44,55,66,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中,将小于 66 的值保存至第二个key对应的列表中。打印输出result。
result = {‘k1’:[],‘k2’:[]}
4.经理:[曹操,刘备,孙权]。 技术员:[曹操,刘备,张飞,关羽]。
使用两个列表分别存储经理与技术员。
使用集合计算:
(1) 即是经理也是技术员的有谁?
(2) 是经理,但不是技术员都有谁?
(3) 是技术员,但不是经理都有谁?
(4)张飞是经理吗?
(5) 身兼一职的都有谁?
(6) 经理和技术员共有几个人?
【综合练习】
现有商品列表如下:
1. products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]],需打印出以下格式:
------ 商品列表 ------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699
2. 提示用户输入预算,并在每次购买时查看余额是否充足。不足时,提示“余额不足”。
3. 根据上面的products列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购买的商品列表。
4. 购买结束时,输出全部购买产品的编码、名称、单价和数量,并在最后集中显示“总计”和“余额”
例如:
请输入您的预算:10000
------ 商品列表 ------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699
请选择您要购买的商品编码:1
您的余额不足。
------ 商品列表 ------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699
请选择您要购买的商品编码:0
已将iphone放入购物车。
------ 商品列表 ------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699
请选择您要购买的商品编码:q
------ 购物清单 ------
编码 商品名称 单价 数量
0 iphone 6888 1
----------------------------
总计 6888元
余额 3112元
感谢您的惠顾。
# @Time:2020/12/16 14:39
# @Author:李 祥
# @File:task5.py
# @Software:PyCharm
# 1.写一个代码片段统计一个字符串中出现的字符及其个数。(至少2种方式:分别使用列表和字典来实现)
# 方法一:
# str1 = input("请输入你要计算的字符串:")
# list1 = list(str1)
# set1 = set(list1)
# for i in set1:
# print(f"{i}:{list1.count(i)}")
# 方法二:
# str1 = input("请输入你要计算的字符串:")
# res = {}
# for i in str1:
# if i in res:
# res[i] += 1
# else:
# res[i] = 1
# print(res)
# 2.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环),输入结束打印列表
# list1 = []
# while True:
# str1 = input("请输入内容:")
# if str1 in ["n", "N"]:
# break
# elif str1 in list1:
# print("输入内容重复")
# else:
# list1.append(str1)
# print(list1)
# 3.有如下值 li= [11,22,33,44,55,66,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中,将小于 66 的值保存至第二个key对应的列表中。打印输出result。
# list1 = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
# result = {'k1': [], 'k2': []}
# for i in list1:
# if i > 66:
# result['k1'].append(i)
# elif i < 66:
# result['k2'].append(i)
# print(result)
"""
4.经理:[曹操,刘备,孙权]。 技术员:[曹操,刘备,张飞,关羽]。
使用两个列表分别存储经理与技术员。
使用集合计算:
(1) 即是经理也是技术员的有谁?
(2) 是经理,但不是技术员都有谁?
(3) 是技术员,但不是经理都有谁?
(4)张飞是经理吗?
(5) 身兼一职的都有谁?
(6) 经理和技术员共有几个人?
"""
# list1 = ["曹操", "刘备", "孙权"]
# list2 = ["曹操", "刘备", "张飞", "关羽"]
# print("(1)", set(list1) & set(list2))
# print("(2)", set(list1) - (set(list1) & set(list2)))
# print("(3)", set(list2) - (set(list1) & set(list2)))
# print("(4)张飞是经理") if "张飞" in list1 else print("(4)张飞不是经理")
# print("(5)", set(list1) ^ set(list2))
# print("(6)", len(set(list1) | set(list2)))
# 综合练习
products = [["iphone", 6888], ["MacPro", 14800], ["小米6", 2499], ["Coffee", 31], ["Book", 60], ["Nike", 699]]
money = input("请输入你的预算:")
print("商品列表".center(30, "-"))
for i in range(len(products)):
print(i, end=" ")
print(f"{products[i][0]:<10}", end="")
print(f"{products[i][1]:<6}")
list1 = []
list2 = []
total = 0
while True:
str1 = input("想购买什么(商品编号):")
if str1 == "q":
break
else:
if eval(money) - products[eval(str1)][1] <= total:
print("余额不足")
else:
list1.append(products[eval(str1)])
list2.append(products[eval(str1)][0])
print(f"已将{products[eval(str1)][0]}放入购物车")
total += products[eval(str1)][1]
dict1 = dict(list1)
print("购物车".center(30, "-"))
print("编码 商品 单价 数量")
for i, j in enumerate(dict1.keys()):
print(i, end=" ")
print(f"{j:<10}", end="")
print(f"{dict1[j]:>6}", end=" ")
print(list2.count(str(j)))
print("-" * 30)
print("总价", f"{total:>30}")
if eval(money) - total < 0:
print("您的余额不足。")
else:
print("余额", f"{(eval(money) - total):>30}")