第1关:字符串去重排序
任务描述
输入一个非空字符串,去除重复的字符后,从小到大排序输出为一个新字符串。
输入格式
一个非空字符串
输出格式
去重排序后的字符串
示例文章来源地址https://www.toymoban.com/news/detail-716657.html
- 输入:
Life is short, you need Python!
- 输出:
!,LPdefhinorstuy
参考代码
print(''.join(sorted(set(input()))))
第2关:列表去重
任务描述
输入一系列以逗号分隔的英文人名,其中包含重复的名字,请将其中重复的名字去掉,输出包含不重复人名的列表,名字出现顺序与输入顺序相同。
输入格式
一系列以逗号分隔的英文人名
输出格式
包含不重复人名的列表,名字出现顺序与输入顺序相同
示例 1
- 输入:
Calvin,bob,ada,McCord,Smith,Babbs,Calvin,Smith
- 输出:
['Calvin', 'bob', 'ada', 'McCord', 'Smith', 'Babbs']
参考代码
res = []
names = input().split(',')
for name in names:
if name not in res:
res.append(name)
print(res)
第3关:猜年龄
任务描述
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请编程输出当年维纳的年龄。
输入格式
该题目没有输入
输出格式
一个正整数(维纳当年的年龄)
示例
- 输出:
9
参考代码
age1 = age2 = 0
while age1**3 < 10000:
age1 += 1
while True:
b = age2**4
if b >= 100000 and b < 1000000:
break
age2 += 1
for i in range(age2, age1):
num1 = i**3
num2 = i**4
res = set(str(num1)+str(num2))
if len(res) == 10:
print(i)
第4关:集合的属性、方法与运算
任务描述
将用户输入用空格分隔的一系列地名创建集合MySet,输入一个正整数 n,你将被要求读入 n 个输入(输入形式如下所示),每得到一个输入后,根据输入进行操作。
add name: # 在集合中加入元素name
print: # 将集合转为列表,按元素升序排序后输出列表
del name: # 删除集合中的元素name,当name不存在时,不能引发错误
update name: # name为空格逗号分隔的字符串,将其转为集合,并用name中的元素修改集合MySet
clear: # 清空集合
输入格式
第一行输入一个正整数 n
输出格式
每遇到“print”时,将集合转为列表,按元素升序排序后输出列表
示例
- 输入:
8
湖北 湖南 吉林
print
del 湖北
print
clear
add 江西
add 河北
update 北京 上海 天津 重庆
print
- 输出:
['吉林', '湖北', '湖南']
['吉林', '湖南']
['上海', '北京', '天津', '江西', '河北', '重庆']
参考代码
n = int(input())
name = input()
Set = set(name.split())
for i in range(n):
List = input().split()
if List[0] == 'print':
print(sorted(list(Set)))
elif List[0] == 'update':
Set.update(set(List[1:]))
elif List[0] == 'add':
Set.add(List[1])
elif List[0] == 'del':
Set.discard(List[1])
elif List[0] == 'clear':
Set.clear()
第5关:集合介绍
任务描述
集合是一个无序的、没有重复元素的数据类型,在输出或转为序列类型时,其元素位置随机出现。
例如:
print(set())
# 产生空集合 set()
print(set('Hello Python'))
# 字符串转集合,去掉重复字符 {'t', 'h', 'P', 'H', 'l', 'e', 'y', 'o', ' ', 'n'}
print(set((1, 2, 3, 4, 5, 5)))
# 元组转集合,去掉重复元素 {1, 2, 3, 4, 5}
print(set(set(['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n'])))
# 列表转集合,去掉重复元素{'t', 'h', 'P', 'H', 'l', 'e', 'y', 'o', ' ', 'n'}
print(set([1, 2, 1, 2, 3, 4, 5, 6, 0, 9, 12, 22, 3]))
# 列表转集合,去掉重复元素 {0, 1, 2, 3, 4, 5, 6, 9, 12, 22}
print(set({
'University': 'WHUTI', 'Rank': 40}))
# 字典转集合,返回字典的键(字典的键唯一),不确定顺序 {'Rank', 'University'}
print(set(enumerate(['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n'])))
# {(8, 't'), (2, 'l'), (7, 'y'), (3, 'l'), (4, 'o'), (5, ' '), (6, 'P'), (9, 'h'), (11, 'n'), (0, 'H'), (1, 'e'), (10, 'o')}
李白是一个社区大学的老师,一天,他让学生小明计算一下温室里植物的平均高度。
平均高度 = 不同高度的和 / 不同高度的数量
输入格式
输入N
个用空格分隔的植物的高度
输出格式
在一行内输出植物的平均高度,保留小数点后3位文章来源:https://www.toymoban.com/news/detail-716657.html
示例
- 输入:
161
182
161
154
176
170
167
171
170
174
- 输出:
169.375
参考代码
def average(array):
Set = set(array)
return sum(Set)/len(
到了这里,关于【头歌-Python】Python第七章作业(初级)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!