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数据容器——列表、元组、字符串、集合、字典

    作者: Insist-- 个人主页: insist--个人主页 本文专栏:Python专栏 专栏介绍: 本专栏为 免费 专栏,并且会持续更新python基础知识,欢迎各位订阅关注。 目录 一、了解数据容器 1. 为什么需要数据容器? 2. 数据容器是什么? 二、数据容器—列表(list) 1. 列表的定义 2. 列表的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2023年04月13日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包