python数据结构的处理(一)

1、通过用户输入的身份证号,输出对应的出生日期‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪。程序运行的效果如下:

list1=str(input("请输入身份证号"))
print("出生日期"+list1[6:10:1]+"年"+list1[10:12:1]+"月"+list1[12:14:1]+"日")

简单的列表

2、自幂数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。例如153就是一个自幂数(当n=3时也称为水仙花数),因为153=13+53+3^3。请按下面的运行结果找出用户输入范围内的所有自幂数。

j=int(input("请输入n(n>=3)"))
t=10**j

sum=0
while (t-100):
    a=list(str(t))
    p=str(t)
    x=len(p)
    for i in range(0,x):
        m=int(a[i])
        n=int(a[-1])
        sum=m**x+sum
    if sum==t:
        print("{}是自幂数".format(t))
    t=t-1
    sum=0

对列表和字符串的方法运用的简单使用

3.对于给定的字符串"Where there is a will, there is a way. The important point is that you must have the will to achieve success.",请统计该字符串中不重复的单词数,并把这些单词按字母顺序降序排列,输出效果如下所示:

list1="Where there is a will there is a way. The important point is that you must have the will to achieve success. "
words = list1.split()
words1 = list(set(words))
q=len(words)
count=0
for i in range(0,q):
    n=words.count(words[i])
    if n==1:
        count+=1
print('句子中只出现一次的单词数为:{}'.format(count))
    

print("排序后:",words1)
w=len(words1)
print("总共出现过的单词数为:{}".format(w))

主要考验对于list的掌握,在这里笔者有自己的不足,比如最终的结果中并不能把“,”“.”分离,只能手动的删除了一个“,”以获得正确的答案,在查询很多方案后暂时还没有得到解决办法。

4.请按照教材教材第83页实训2中表3-5给出的数据完成食物菜单的建立与查询。建议使用一个列表存储食品大类,另一个列表存储各类食物的详细菜单。程序运行结果可以参考如下图:

mylist1=[]
mylist2=[]
count=0
food=input("请输入食品大类(输入q退出食品输入):")
while food!="q":
    food1=str(food+'编号'+str(count)+'|')
    mylist1.append(food1)
    detail_food=input(f"请输入{food}的详细食物菜单,多个食物直接用空格分开:")
    mystr=str(detail_food)
    my_str=mystr.split(" ")
    mylist2.append(my_str) 
    food=input("请输入食品大类(输入q退出食品输入):")
    count+=1
print()
print(f"当前的食品大类包括:{mylist1}")
print(f"当前的详细食品菜单是:{mylist2}")
print()
big_food=input("请输入要查询的食品大类(输入t则退出程序):")
while big_food!="t":
    n=int(big_food)
    if(n<count):
        print(f"汉堡类食品的详细食物菜单是{mylist2[n]}") 
    else:  
        print("没有资料")
    big_food=input("请输入要查询的食品大类(输入t则退出程序):")
print("感谢使用")

这个主要考验对队列,字符串,字典和元组的综合运用,对于python的简单的数据结构需要有较为清晰的认知,便可以自主设计以上材料。

补充:好友管理系统

info_dict={
 "小明":{
        "电话":"001",
        "地址":"广州"
    },
    "小红":{
        "电话":"002",
        "地址":"深圳"
    },
    "小好":{
        "电话":"003",
        "地址":"北京"
    }
}
all_keys=info_dict.keys()
print("好友列表")
print(all_keys)
print("输入1:好友添加")
print("输入2:删除好友")
print("输入3:好友信息修改")
print("输入4:好友信息查询")
print("输入q:退出好友管理系统")
num=input("请选择你要进行的操作:")
while num!='q':
    if num=="1":
        name=input('请输入姓名')
        num1=input('请输入电话')
        ad=input('请输入地址')
        dict1=dict()
        dict2=dict(电话=num1,
                   地址=ad
        )
        dict1[name]=dict2 
        info_dict.update(dict1)
        print("添加后的好友列表为:\n")
        print(info_dict)
    elif num=="2":
        a=input("请输入你想要删除的好友名称")
        del info_dict[a]
        print("删除后的好友列表为:\n")
        print(info_dict)
    elif num=="3":
        name=input("请输入你想要修改的好友名称")
        num1=input('请输入电话')
        ad=input('请输入地址')
        dict1=dict()
        dict2=dict(电话=num1,
                   地址=ad
        )
        dict1[name]=dict2 
        info_dict.update(dict1)
        print("修改后的好友列表信息更新为:\n")
        print(info_dict)
    elif num=="4":
        name=input("请输入你想要查询的好友名称")
        print(info_dict[name])
        print("查询结束")
    else :
        print("输入指令错误!!")
    num=input("\n请选择你接下来要进行的操作(q退出):")

本程序设计一个关于字典的好友管理系统,需要单独运行两个部分,先单独运行字典,保证字典在运行状态后,运行第二部分即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值