python编程题三
生活随笔
收集整理的這篇文章主要介紹了
python编程题三
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
大于身高的平均值 (10分)
中小學(xué)生每個學(xué)期都要體檢,要量身高,因為身高可以反映孩子的生長狀況。現(xiàn)在,一個班的身高已經(jīng)量好了,請輸出其中超過平均身高的那些身高。程序的輸入為一行數(shù)據(jù),其中以空格分隔,每個數(shù)據(jù)都是一個正整數(shù)。程序要輸出那些超過輸入的正整數(shù)的平均數(shù)的輸入值,每個數(shù)后面有一個空格,輸出的順序和輸入的相同。輸入格式:
在一行輸入中一個班的身高值,以空格分隔。輸出格式:
在一行輸出超過輸入的平均數(shù)的輸入值,以空格分隔。輸入樣例:
143 174 119 127 117 164 110 128輸出樣例:
143 174 164 代碼:
lis = list(input().split())
for i in range(len(lis)):lis[i] = int(lis[i])
for i in range(0,len(lis)):if(int(lis[i]) > int(sum(lis))/int(len(lis))):print(str(lis[i])+' ',end='')
列表或元組的數(shù)字元素求和 (10分)
求列表中數(shù)字和,列表中嵌套層次不限2層輸入格式:
在一行中輸入列表或元組輸出格式:
在一行中輸出數(shù)字的和輸入樣例:
[11,2,[3,7],(68,-1),"123",9]輸出樣例:
99思路:由于不確定元素類型,必須通過某個函數(shù)來進行判斷并提取結(jié)果代碼:
def getint(s):if type(s) == int:return selif type(s) == str:return 0elif type(s) == list or type(s) == tuple:result = 0for i in range(0,len(s)):result += getint(s[i])return resultelse:return 0s = list(eval(input()))
sum = 0
for i in range(0,len(s)):sum = sum + int(getint(s[i]))
print(sum)
列表數(shù)字元素加權(quán)和(2) (20分)
輸入一個嵌套列表,嵌套層次不限,根據(jù)層次,求列表元素的加權(quán)和。第一層每個元素 的值為:元素值*1,第二層每個元素的值為:元素值*(-2),第三層每個元素的值為:元素值*3, 第四層每個元素的值為:元素值*(-4),...,以此類推!輸入格式:
在一行中輸入列表輸出格式:
在一行中輸出加權(quán)和輸入樣例:
在這里給出一組輸入。例如:
[1,2,[3,4,[5,6],7],8]輸出樣例:
16思路:
和上題類似,先判斷類型,再根據(jù)條件提取數(shù)字并運算后輸出
代碼:
def getint(s,count):if type(s) == int:if(count%2 ==0):return s * count * -1else:return s * countelif type(s) == str:return 0elif type(s) == list or type(s) == tuple:result = 0for i in range(0,len(s)):result += getint(s[i],count+1)return resultelse:return 0s = list(eval(input()))
sum = 0
for i in range(0,len(s)):sum = sum + int(getint(s[i],1))
print(sum)
通過兩個列表構(gòu)建字典 (10分)
輸入兩行字符串,以空格為分隔,將每行字符串存儲為列表形式。將第一個列表的元素值作為鍵,將第二個列表中對應(yīng)順序的元素作為值,構(gòu)建一個字典,按鍵升序排列后輸出字典的所有鍵值對列表。輸入格式:
輸入兩行字符串,分別以空格為分隔存為列表。輸出格式:
按鍵的升序,輸出字典鍵值對列表。輸入樣例:
集美大學(xué) 廈門 361021
輸出樣例:
[('城市', '廈門'), ('學(xué)校', '集美大學(xué)'), ('郵編', '361021')]代碼:
x = input().split()
y = input().split()
ans = []
for i in range(len(x)):a = x[i]b = y[i]ans.append((a,b))
ans.sort()
print(ans)
字典合并與排序 (10分)
用戶分兩行輸入兩個字典,格式參照輸入要求;請設(shè)計程序?qū)崿F(xiàn):將兩個字典合并為一個字典,如果兩個字典中分別有相同的鍵(key),需將對應(yīng)的值相加后作為字典中該鍵對應(yīng)的新值。輸入格式:
用兩行輸入字典格式的兩個數(shù)據(jù),字典中鍵的數(shù)據(jù)類型統(tǒng)一為數(shù)字或字符,字典中值的數(shù)據(jù)均為數(shù)字。輸出格式:
輸出合并后的字典數(shù)據(jù),字典數(shù)據(jù)要求按照鍵的增序排列。輸入樣例1:
輸入1:{1:2,3:9,5:2,6:2}
{2:1,6:3,7:9,1:4}
輸出樣例1:
輸出1:{1: 6, 2: 1, 3: 9, 5: 2, 6: 5, 7: 9}
輸入樣例2:
輸入2:{'c':3,'a':4,'n':1}
{'a':3,'c':7,'b':10}
輸出樣例2:
輸出2:{'a': 7, 'b': 10, 'c': 10, 'n': 1}代碼:
dict1 = eval(input())
dict2 = eval(input())
temp = {}
temp.update(dict1)
temp.update(dict2)
for i in dict1.keys():if dict1.get(i) != temp.get(i):temp[i] = temp.get(i) + dict1.get(i)
ans = dict.fromkeys(sorted(temp))
for i in ans.keys():ans[i] = temp.get(i)
print(ans)
總結(jié)
以上是生活随笔為你收集整理的python编程题三的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 约束条件创建定义表(主码,外码的确定和防
- 下一篇: asp服务器_Asp.Net Core2