python实验三:组合数据类型(列表、元组&字典)

这篇具有很好参考价值的文章主要介绍了python实验三:组合数据类型(列表、元组&字典)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

构造一个person的列表结构list1,元素为参加调查问卷的人员的名字(不用太多),(建立列表有很多方法,选择一种你喜欢的),命名为3.1.py
从键盘上输入一个人名,判断这个人名是否在list1中。
(1)如果人名在列表中,就输出“您已经参与过调查,感谢参与!!!”。
(2)如果人名不在列表中,输出“您是否已经参加过?是/否”
1)如果用户选择“是”,将用户名字加入list1末尾,输出“抱歉,我们统计有误!,感谢参与!!!”
2)如果用户选择否,输出“,希望您能参与调查”
图示范例结果为:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

list1=['周杰伦','超级玛丽','李云迪','乔丹','马拉多纳']
print("名单测试输出:",list1)
a=input("Please input your name:")
if a in list1:
    print("{},您已经参与过调查,感谢参与".format(a))
    print(list1)
else:
    b=input("名单里没有您,请问是否已经参与过?是/否 ")
    if b=='是':
        list1.append(a)
        print("抱歉,我们统计有误!{},感谢参与!".format(a))
        print(list1)
    else:
        print("{},希望您能参与调查".format(a))
        print(list1)

实验截图如下:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

改变我们实验二中的帮老师判卷子的题目,改变后的题目如下:
设计一个程序来帮助老师判客观题的单元测试,本次测试题一共5道,已经知道正确答案分别是(‘a’,‘d’,‘b’,‘d’,‘c’),为元组结构。请根据正确答案,找出学生的错误,并且统计正确的和错误的数量,给出最终分数。程序命名为3.2.py。

m=('a','d','b','d','c')
n=('a','b','c','d')
q=list(m)
print("***欢迎使用客观题判卷系统,一共5道题,每道题20分***")
list1=[]
score=0
r=0
d=0
for i in range(5):
    while(1):
        a=input("请输入你的第{}题答案".format(i+1))
        if a in n:
            if a==q[i]:
                list1.append(a)
                score=score+20
                r=r+1
            else:
                list1.append('X')
                d=d+1
            break
        else:
            print("输入有误,请输入a,b,c,d")
print("正确答案为:",m)
print("批改结果为:")
print(list1,"正确 ",r,"错误",d)
print("你的分数为{:.1f}".format(score))

实验截图如下:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

猜单词游戏。已知
WORDS = (“python”, “jumble”, “easy”, “difficult”, “answer”, “continue”
, “phone”, “position”, “position”, “game”)
#上面的结构是个元组,这是互联网中一个经典的例题
计算机随机从WORDS中选取一个单词,然后打乱顺序,供玩家去猜,效果如下图所示。
提示:随机产生或选取一个单词,需要使用random库中的随机数函数,需要import random库。其中random.choice( )可以从序列中随机选取元素。另外,如何把单词的字母顺序打乱呢,老师提供一种思路:方法是随机从单词字符串中选择一个位置position,把position位置那个字母加入乱序后的单词,同时将原单词中positon位置那个字母删去。多次循环(循环次数是单词的长度),就可以生成新的乱序后单词。(方法不唯一,期待着大家的其他方法)命名为3.3.py
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

import random
WORDS=("python","jumble","easy","difficult","answer","continue","phone","position","position","game")
print("欢迎参加猜单词游戏")
print("把字母合成一个正确的单词")
while(1):
    a=random.choice(WORDS)
    c=list(a)
    random.shuffle(c)
    print("乱序后的单词","".join(c))
    m=input("请你猜:")
    while(1):
        if m!=a:
            print("对不起不正确")
            m=input("继续猜:")
        else:
            print("真棒,你猜对了!")
            break
    b=input("是否继续(Y/N):")
    if b=='n':
        break

python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

根据要求完成程序,命名为3.4.py
(1)用传统的for、if语句方法实现计算1-100之间的素数,把结果放到列表list1里面,并输出。
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言
(2)用列表推导式计算:判断list1里面的元素,如果大于50,就计算他们的和,并放在list2里面,并输出。
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

list1=[]
for i in range(2,100):
    for j in range(2,i):
        if i%j==0:
            break
    else:
        list1.append(i)
print("1到100间的素数为:",list1)

list2=[i for i in list1 if i>50]
m=0
for i in list2:
    m=m+int(i)
print("大于50的列表:",list2)
print("1到100之间大于50的素数之和为:",m)

实验截图如下:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

将第一题用字典结构来写,具体要求如下:
构造一个favorite_languages的字典结构,键为参加调查人员的名字(不用太多),键值为他喜欢的编程语言。命名为5.py
(1)分别输出字典里的键值对,键和值。
(2)创建一个应该会接受调查的人员名单(list结构),其中有些人已经包含在字典中,而其他人未包含在字典中。
(3)遍历这个人员名单,对于已经参与调查的人,打印一条消息表示感谢;对于未参与调查的人,打印一条消息邀请他参与调查。
输出范例:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

favoriate_languages={'周杰伦':'java','超级玛丽':'c','李云迪':'python','乔丹':'c++','马拉多纳':'javascript'}
print("字典结构",favoriate_languages.items())
list1=['詹姆斯','乔丹','邓肯']
print("构造人员名单:",list1)
print("以下为关于参与调查的输出信息")
for item in list1:
    if item in favoriate_languages.keys():
        print(item,"感谢参与!")
    else:
        print(item,"希望你能参与调查")

实验截图如下:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

披萨题目的改进:
之前题目原题:我们开了一个pizza店,现在用python写了一个简单的欢迎画面和使用程序
(1)进入系统,使用上节课学习的format格式化函数输出,例如 ******Hello,Welcome to Doraemon pizza store ******,自己设计就可以
(2)询问请用户输入想要几个pizza。
(3)输入每个pizza的税前单价(这个功能有点low)。
(4)然后系统计算出一共多少钱。
(5)1个pizza需要交8%的税,计算出需要交多少税,保留2位小数。
(6)计算出最终用户需要支付的金额,并输出“一共多少钱,其中pizza多少,税多少”。
(7)(选做)请用户输入配送还是自取(0 代表配送 1代表自取)
如果自取,输出大约多长时间请来店取
如果配送,请用户输入配送地址,并提示大约多长时间可以送到
(8)最后输出“谢谢惠顾”字样。
改造一:
用户,我们可以把用户和他的地址用字典类型来存储,在给用户派送时候,检测是否有用户的地址信息,如果有就从字典里读出来,如果没有,就把新用户加入字典,并完成之前的功能。老师做的显示效果如下图:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

name=input()
print("Please input your name:",name)
str1="Hello,Welcome to Dotremon pizza store"
dict1={'peggy':'泉景天阮秀园7-2-201','alan':'济南大学5-4-301','Tom':'中建银泰81-101'}
print("{0:*^49}".format(str1))
pizza=eval(input("请输入您需要几个披萨"))
fprice=eval(input("售货员输入的税前的价格"))
print("一共{:.1f}元,税{:.2f}元,披萨{:.1f}元".format(pizza*fprice*(1+0.08),pizza*fprice*0.08,pizza*fprice))
cho=eval(input("请输入您的配送选择:0代表送货上门,1代表自提:"))
if cho==0:
    if name in dict1.keys():
        print("您好,老用户,您的地址是",dict1[name])
        print(dict1)
    else:
        print("哇哦,您是第一次光临本店,欢迎光临!!!")
        address=input("请输入您的配送地址:")
        dict1[name]=address
        print(dict1)
print("大约需要半个小时")
print("感谢您的惠顾:-")

实验截图如下:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

*选做题
模拟一个简单的电影推荐:假设已有若干用户喜欢的电影清单,现有某用户,已看过并喜欢一些电影,现在想找个新电影看看,又不知道看什么好。
思路:根据已有数据,查找与该用户爱好最相似的用户,也就是看过并喜欢的电影与该用户最接近,然后从那个用户喜欢的电影中选取一部当前用户还没看过的电影,进行推荐。
范例图示:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言

import random
alls=[{'这个杀手不太冷','阿甘正传','我和春天有个约会','暮光之城','霸王别姬','肖申克的救赎'},{'神奇动物在哪里','杜拉拉升职记','小时代'},{'开国大典','建党伟业','杜拉拉升职记'}]
my=set(['阿甘正传','哈利波特','这个杀手不太冷'])
print("我喜欢的电影:",my)
for item in alls:
    if item & my !=set():
        #print(item & my)
        print("和我最相似的是",item)
        print("他/她喜欢的还有哪些我没有看过",list(item-my))
        print("随机选取一部推荐的电影为:",random.choice(list(item-my)))

实验截图如下:
python组合数据类型上机题目,python开发技术,python,单元测试,开发语言文章来源地址https://www.toymoban.com/news/detail-774171.html

到了这里,关于python实验三:组合数据类型(列表、元组&字典)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python-基础篇-数据结构-列表、元组、字典、集合

    列表、元组 字典、集合 💬正如在现实世界中一样,直到我们拥有足够多的东西,才迫切需要一个储存东西的容器,这也是我坚持把数据结构放在最后面的原因一一直到你掌握足够多的技能,可以创造更多的数据,你才会重视数据结构的作用。这些储存大量数据的容器,在

    2024年01月21日
    浏览(129)
  • Python中列表,元组,集合,字典哪些数据结构支持双向索引?

    在Python中,我们常用的内置数据结构有列表、元组、集合和字典。其中,只有列表和元组支持双向索引,可以通过正向索引和负向索引访问元素。而字典和集合不支持索引。 在Python中,内置的数据结构主要包括: 列表(list):有序,可变的数据集合,可以通过索引访问元素。 元组(tuple)

    2024年02月08日
    浏览(63)
  • 【python基础】复杂数据类型-列表类型(元组)

    列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的。 然而,有时候需要创建一系列不可修改的元素,元组可以满足这种需求 python将不能修改的值称为不可变的,而不可变的列表被称为元组。 元组看起来犹如列表,但使用圆括号而不是方括号来标识

    2024年02月07日
    浏览(67)
  • Python -- 列表、元组、字典、集合

    目录 一、列表 1.列表介绍 1)列表的介绍 2)列表创建方式 2.列表的增删改查 1)获取列表中某个元素(查) 2)修改元素的值(改) 3)删除元素(删) 4)添加元素(增) 3.其它常用方法 1)列表常用方法 2)常用Python内置方法 二、元组 1.元组介绍 1)元组的介绍 2)元组创建

    2024年02月03日
    浏览(62)
  • Python数据容器(列表list、元组tuple、字符串str、字典dict、集合set)详解

    相关介绍: 一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。每一个元素,可以是任意类型的数据 分为五类: 列表[list]、元组(tuple)、字符串(str)、集合{set}、字典{dict} 相应区别: 列表 元祖 字符串 集合 字典 元素数量 多个 多个 多个 多个 多个 元素类

    2024年02月11日
    浏览(85)
  • Python 集合(列表 ,元组,集合, 字典)

    Python 编程语言中有四种集合数据类型: 列表(List)是一种有序和可更改的集合。允许重复的成员。 元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。 集合(Set)是一个无序和无索引的集合。没有重复的成员。 字典(Dictionary)是一个无序,可变和有索引的集合

    2024年02月02日
    浏览(57)
  • Python基础之列表、元组和字典

    引言 Python中的 列表 (英文叫list) 、 元组 (英文叫tuple)和 字典 (dictionary) 也是 序列 特性的,它们也是非常常用的数据类型。 01、概述 列表(List)对象 经常被用来 存储 数据对象。我们可以把列表想象为 一连串的储物格,就像下面这样: 其中每个储物格里面都可以存储 任

    2024年02月06日
    浏览(45)
  • Python 中将元组列表转换为字典

    使用 dict 类将元组列表转换为字典,例如 my_dict = dict(list_of_tuples) 。 dict 类可以传递一个元组列表并返回一个新字典。 我们使用 dict 类将元组列表转换为字典。 请注意 ,此方法仅在您的元组每个包含 2 个元素(一个键和一个值)时才有效。 或者,我们可以使用 字典推导 。

    2023年04月08日
    浏览(49)
  • Python——第3章 列表、元组、字典、集合与字符串

    append()、insert()、extend() pop()、remove() count()、index() sort()、reverse() 切片是用来获取列表、元组、字符串等有序序列中部分元素的一种语法。在形式上,切片使用2个冒号分隔的3个数字来完成。 [start🔚step] 其中第一个数字start表示切片开始位置,默认为0;第二个数字end表示切片

    2024年02月07日
    浏览(60)
  • Python列表(list)、元组(tuple)和字典(dictionary)的区别

    目录 列表(list)  访问列表元素  更新和删除列表元素 元组(tuple) 元组的访问、更新、删除操作  字典(dictionary)  创建空字典 修改、删除字典 总结 列表(list)、元组(tuple)和字典(dictionary)都是序列,序列都是由索引和元素组成。遍历和访问都按照如下格式: 具

    2023年04月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包