第1關(guān):字符串去重排序
任務(wù)描述
輸入一個(gè)非空字符串,去除重復(fù)的字符后,從小到大排序輸出為一個(gè)新字符串。
輸入格式
一個(gè)非空字符串
輸出格式
去重排序后的字符串
示例文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-716657.html
- 輸入:
Life is short, you need Python!
- 輸出:
!,LPdefhinorstuy
參考代碼
print(''.join(sorted(set(input()))))
第2關(guān):列表去重
任務(wù)描述
輸入一系列以逗號(hào)分隔的英文人名,其中包含重復(fù)的名字,請(qǐng)將其中重復(fù)的名字去掉,輸出包含不重復(fù)人名的列表,名字出現(xiàn)順序與輸入順序相同。
輸入格式
一系列以逗號(hào)分隔的英文人名
輸出格式
包含不重復(fù)人名的列表,名字出現(xiàn)順序與輸入順序相同
示例 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關(guān):猜年齡
任務(wù)描述
美國(guó)數(shù)學(xué)家維納(N.Wiener)智力早熟,11歲就上了大學(xué)。他曾在1935~1936年應(yīng)邀來(lái)中國(guó)清華大學(xué)講學(xué)。一次,他參加某個(gè)重要會(huì)議,年輕的臉孔引人注目。于是有人詢問(wèn)他的年齡,他回答說(shuō):“我年齡的立方是個(gè)4位數(shù)。我年齡的4次方是個(gè)6位數(shù)。這10個(gè)數(shù)字正好包含了從0到9這10個(gè)數(shù)字,每個(gè)都恰好出現(xiàn)1次?!?請(qǐng)編程輸出當(dāng)年維納的年齡。
輸入格式
該題目沒(méi)有輸入
輸出格式
一個(gè)正整數(shù)(維納當(dāng)年的年齡)
示例
- 輸出:
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關(guān):集合的屬性、方法與運(yùn)算
任務(wù)描述
將用戶輸入用空格分隔的一系列地名創(chuàng)建集合MySet,輸入一個(gè)正整數(shù) n,你將被要求讀入 n 個(gè)輸入(輸入形式如下所示),每得到一個(gè)輸入后,根據(jù)輸入進(jìn)行操作。
add name: # 在集合中加入元素name
print: # 將集合轉(zhuǎn)為列表,按元素升序排序后輸出列表
del name: # 刪除集合中的元素name,當(dāng)name不存在時(shí),不能引發(fā)錯(cuò)誤
update name: # name為空格逗號(hào)分隔的字符串,將其轉(zhuǎn)為集合,并用name中的元素修改集合MySet
clear: # 清空集合
輸入格式
第一行輸入一個(gè)正整數(shù) n
輸出格式
每遇到“print”時(shí),將集合轉(zhuǎn)為列表,按元素升序排序后輸出列表
示例
- 輸入:
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關(guān):集合介紹
任務(wù)描述
集合是一個(gè)無(wú)序的、沒(méi)有重復(fù)元素的數(shù)據(jù)類型,在輸出或轉(zhuǎn)為序列類型時(shí),其元素位置隨機(jī)出現(xiàn)。
例如:
print(set())
# 產(chǎn)生空集合 set()
print(set('Hello Python'))
# 字符串轉(zhuǎn)集合,去掉重復(fù)字符 {'t', 'h', 'P', 'H', 'l', 'e', 'y', 'o', ' ', 'n'}
print(set((1, 2, 3, 4, 5, 5)))
# 元組轉(zhuǎn)集合,去掉重復(fù)元素 {1, 2, 3, 4, 5}
print(set(set(['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n'])))
# 列表轉(zhuǎn)集合,去掉重復(fù)元素{'t', 'h', 'P', 'H', 'l', 'e', 'y', 'o', ' ', 'n'}
print(set([1, 2, 1, 2, 3, 4, 5, 6, 0, 9, 12, 22, 3]))
# 列表轉(zhuǎn)集合,去掉重復(fù)元素 {0, 1, 2, 3, 4, 5, 6, 9, 12, 22}
print(set({
'University': 'WHUTI', 'Rank': 40}))
# 字典轉(zhuǎn)集合,返回字典的鍵(字典的鍵唯一),不確定順序 {'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')}
李白是一個(gè)社區(qū)大學(xué)的老師,一天,他讓學(xué)生小明計(jì)算一下溫室里植物的平均高度。
平均高度 = 不同高度的和 / 不同高度的數(shù)量
輸入格式
輸入N
個(gè)用空格分隔的植物的高度
輸出格式
在一行內(nèi)輸出植物的平均高度,保留小數(shù)點(diǎn)后3位文章來(lái)源:http://www.zghlxwxcb.cn/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(
到了這里,關(guān)于【頭歌-Python】Python第七章作業(yè)(初級(jí))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!