educoder:实验七 元组和集合

第1关:日期格式转换

任务描述

本关任务:编写一个能转换日期格式的小程序。 输入一个数字的日期格式 2020/1/23 转换为美式格式和英式格式

相关知识

为了完成本关任务,你需要掌握:日期格式

日期格式

英式日期格式:日,月,年 美式日期格式:月,日,年 具体举例如下: 8 March,2004(英式) March 8,2004(美式)

测试说明

平台会对你编写的代码进行测试: 测试输入:2020/1/29 预期输出:美式格式January 1,2020 英式格式January 1,2020

注意:年份不一定是4位 提示:使用元组保存月份的名称


开始你的任务吧,祝你成功!

代码:

x=input("输入日期")
#开始
month = {1:'January',2:'February',3:'March',4:'April',5:'May',6:'June',7:'July',8:'August',9:'September',10:'October',11:'November',12:'December'}
w = x.split('/')
m = month.get(int(w[1]))
y = m+' '+w[2]+','+w[0]
z = w[2]+' '+m+','+w[0]
#结束
print("美式格式"+y)
print("英式格式"+z)

第2关:计算购买饮品金额

任务描述

本关任务:编写一个计算购买饮品金额的小程序。

相关知识

为了完成本关任务,你需要掌握:1.如何对元组的各值循环 2.访问二维元组的值

对元组的各个值循环

for 变量 in 元组: 循环体 变量依次取出元组的各个值,执行循环体

访问二维元组的值

访问元组的i行j列的值 元组[i][j]

编程要求

某奶茶店的各饮品的名称和价格如下所示

首先显示所有饮品的名称和价格,然后循环输入饮品的序号和数量,直到输入序号为0。系统输出总计的金额。

注意:序号输出2位长度 要求能循环输入饮品的编号和价格 一旦输入饮品编号0则退出循环(该次不再输入数量)

测试说明

平台会对你编写的代码进行测试:

测试输入: 请选择饮品5 请输入数量1 请选择饮品9 请输入数量2 请选择饮品0

预期输出: 应付46元


开始你的任务吧,祝你成功!

代码:

cp=(("悠哉悠哉",18),("人间烟火",17),("蔓越阑珊",17),("抹茶葡提",16),("幽兰拿铁",16),("  翠翠  ",13),("浮生半日",15),("筝筝纸鸢",16),("声声乌龙",15),("风栖绿桂",12),("素颜锡兰",13),("烟火易冷",15))
#代码开始
a = 1
b = 0
for i in range(len(cp)):
    if a<10:
        n = ' '+str(a)
    else:
        n = str(a)
    for j in range(len(cp[0])):
        n += str(cp[i][j])
    print(n)
    a += 1
while True:
    x = int(input("请选择饮品"))
    if x == 0:
        break
    y = int(input("请输入数量"))
    b += cp[x-1][1]*y
print("应付"+str(b)+"元")
#代码结束

第3关:判断句子是否每个英文字母起码出现一次

任务描述

本关任务:编写一个判断输入的英文句子是否个每个英文字母起码出现一次的小程序。 英文中有一种句子,句子中所有英文每个字母至少出现一次,例如The quick brown fox jumps over the lazy dog. 编写一个程序,用来检查一个英文句子是否是符合这个条件.是则显示True 否则显示False(提示 利用集合)

相关知识

为了完成本关任务,你需要掌握:集合的操作

集合的操作

设置集合为空集合 jh=set() 集合jh增加一个元素x jh.add(x) 集合元素的个数 len(jh)

编程要求

根据提示,在右侧编辑器补充代码,判断句是否符合要求。

测试说明

平台会对你编写的代码进行测试:

测试输入:测试输入:The quick brown fox jumps over the lazy dog. 预期输出: True

测试输入:Yor are welcome. 预期输出: False

注意:输入的字符串里面可能有数字字符、标点符号、大小写英文字母等。


听从你心,无问西东。 开始你的任务吧,祝你成功!

代码:

x=input("")
#代码开始
x=x.lower()
jh=set()
for ch in x:
    if 'a'<=ch<='z':
        jh.add(ch)
        
if len(jh)==26:
    print("True")
else:
    print("False")
#代码结束

第4关:集合的运算

任务描述

本关任务: 商场举办双节答谢活动,有两项活动可以参加 报名参加活动1的会员编号放在集合lb1中 报名参加活动2的会员编号放在集合lb2中 将同时参加两项活动的会员编号,只参加活动1的会员编号,只参加活动2的会员编号分别显示出来

相关知识

为了完成本关任务,你需要掌握:集合的运算

集合的运算

差 S –T 返回一个新集合,包括在集合S中但不在集合T中的元素 交 S & T 返回一个新集合,包括同时在集合S和T中的元素 并 S|T 返回一个新集合,包括集合S和T中所有元素 补 S^T 返回一个新集合,包括集合S和T中元素,但不包括同时在其中的元素

测试说明

平台会对你编写的代码进行测试:

测试输入:1,3,4,5,6,7,9 2,4,5,6,9,12

预期输出: 两项活动都参加 {9, 4, 5, 6} 只参加活动1 {1, 3, 7} 只参加活动2 {2, 12}


踮起脚尖,就更接近阳光。 开始你的任务吧,祝你成功!

代码:

hd1=set()
hd2=set()
gh=input("")
lb=gh.split(',')
for x in lb:
    hd1.add(eval(x))
gh=input("")
lb=gh.split(',')
for x in lb:
    hd2.add(eval(x))
#代码开始
hd3 = hd1&hd2
hd4 = hd1-hd2
hd5 = hd2-hd1
#代码结束
print("两项活动都参加",hd3)
print("只参加活动1",hd4)
print("只参加活动2",hd5)

    

Python实验主要涉及元组集合的相关知识点,包括元组的定义、创建、操作以及集合的定义、创建、操作等。下面是对实验元组集合的简要介绍: 1. 元组 元组Python中的一种不可变序列,可以看作是一组有序的数据。元组的定义方式为用小括号()将数据括起来,数据之间用逗号隔开。元组中的数据可以是不同类型的数据,也可以是相同类型的数据。元组中的数据是有序的,可以通过下标来访问元组中的数据。 2. 元组的操作 元组支持的操作包括索引、切片、加、乘、比较等。元组是不可变序列,因此不能对元组进行修改、删除等操作。 3. 集合 集合Python中的一种无序、不重复的数据集合集合的定义方式为用大括号{}将数据括起来,数据之间用逗号隔开。集合中的数据可以是不同类型的数据,也可以是相同类型的数据。集合中的数据是无序的,不能通过下标来访问集合中的数据。 4. 集合的操作 集合支持的操作包括并集、交集、差集、对称差集等。集合是可变序列,因此可以对集合进行添加、删除等操作。 下面是一个元组集合的简单示例: ```python # 定义元组 tup = (1, 2, 3, 4, 5) print(tup) # 访问元组中的数据 print(tup[0]) # 定义集合 set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} print(set1) print(set2) # 集合的并集 print(set1 | set2) # 集合的交集 print(set1 & set2) # 集合的差集 print(set1 - set2) # 集合的对称差集 print(set1 ^ set2) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值