python基础训练题-数据类型

python基础训练题-数据类型,第1张

1.写一个代码片段统计一个字符串中出现的字符及其个数。(至少2种方式:分别使用列表和字典来实现)
> 例如对于字符串“abcaaabcd”,统计的结果是:a(4个)b(2个)c(2个)d(1个)
#方法一
str="abcaaabcd"
list=list(str)
t=[]    #用来存储list去重后的列表
for x in list:
    if x not in t:
        t.append(x)
print(t)
for i in t:
    print(f"{i}({list.count(i)}个)",end=" ")
#方法二
str="abcaaabcd"
list=list(str)
dict={}.fromkeys(list)
print(dict)
for i in dict.keys():
    dict[i]=str.count(i)
print(dict)
for key,value in dict.items():
    print(f"{key}({value}个)",end=" ")
2.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环),输入结束打印列表
如果用户输入的信息已经存在,则提示用户所输内容已存在,不再重复添加。
> 提示:对于输入内容,需要考虑大小写和空格的情况
list=[]
while True:
    t = input("请输入信息(输入N或n退出输入):")
    t=t.strip()
    if t=="N" or t=="n":
        break
    else:
        if t in list:
            print("您输入的内容已存在,请重新输入!!")
        else:
            list.append(t)
for i in list:
    print(i)
3.有如下值 li= [11,22,33,44,55,66,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中,
将小于 66 的值保存至第二个key对应的列表中。打印输出result。
> result = {'k1':[],'k2':[]}
li= [11,22,33,44,55,66,77,88,99,90]
result = {"k1":[],"k2":[]}
data1=[]
data2=[]
for i in li:
    if i>=66:
        data1.append(i)
    else:
        data2.append(i)
result["k1"]=data1
result["k2"]=data2
print(result)

#代码简化
li= [11,22,33,44,55,66,77,88,99,90]
result = {"k1":[],"k2":[]}
for i in li:
    if i>=66:
        result["k1"].append(i)
    else:
        result["k2"].append(i)
print(result)
4.经理:[曹 *** ,刘备,孙权]。 技术员:[曹 *** ,刘备,张飞,关羽]。
  使用两个列表分别存储经理与技术员。
  使用集合计算:
(1) 即是经理也是技术员的有谁?
(2) 是经理,但不是技术员都有谁?
(3) 是技术员,但不是经理都有谁?
(4)张飞是经理吗?
(5) 身兼一职的都有谁?
(6) 经理和技术员共有几个人?
manager=["曹 *** ","刘备","孙权"]
tech=["曹 *** ","刘备","张飞","关羽"]
t1=set(manager)
t2=set(tech)
print(f"既是经理也是技术员:{t1&t2}")
print(f"是经理,但不是技术员:{t1-t2}")
print(f"是技术员,但不是经理:{t2-t1}")
if "张飞" in t1:
    print("张飞是经理")
else:
    print("张飞不是经理")
print(f"身兼一职的有:{(t1-t2)|(t2-t1)}")
print(f"经理和技术员有:{len(t1|t2)}人")

#第四第五题
print('张飞是经理:',{'张飞'}<=manager)
print('身兼一职的:',tech^manager)
					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/727771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存