python编程题3

输出星期名缩写 (10分)
输入一个1到7的数字,输出对应的星期名的缩写。
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri
6 Sat
7 Sun

输入格式:
输入1到7之间数字

输出格式:
输出对应的星期名的缩写

输入样例:
1

输出样例:
Mon


代码:
d={1:'Mon',2:'Tue',3:'Wed',4:'Thu',5:'Fri',6:'Sat',7:'Sun'}
n = int(input())
print(d.get(n))
计算 11+12+13+...+m (10分)
输入一个正整数m(20<=m<=100),计算 11+12+13+...+m 的值。

输入格式:
在一行输入一个正整数m。

输出格式:
在一行中按照格式“sum = S”输出对应的和S.

输入样例:
90 
输出样例:
sum = 4040


代码:
n = int(input())
print('sum = '+str(sum((i) for i in range(11,n+1))))
特殊a串数列求和 (10分)
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。

输入格式:
输入在一行中给出不超过9的正整数a和n。

输出格式:
在一行中按照“s = 对应的和”的格式输出。

输入样例:
2 3
输出样例:
s = 246

代码:
a,b=map(int,input().split())
a = str(a)
print('s = '+str(sum(int(a *i)for i in range(1,b+1))))
输出A以内能被B整除的数 (10分)
本题目要求读入2个不超过100的非0正整数A和B,然后输出(0,A]中所有能被B整除的数。

输入格式:
输入在一行中给出2个不超过100的非零正整数A和B。

输出格式:
对每一组输入,在一行中输出(0,A]中所有能被B整除的数,数字之间用空格分隔,最后一个数字后面没有空格。 如果没有这样的数,输出“None.”

输入样例1:
37 5
输出样例1:
5 10 15 20 25 30 35
输入样例2:
37 40
输出样例2:
None.

代码:
a,b=map(int,input().split())
sum=0
j=0
for i in range(1,a+1):
    if(i % b == 0):
        print(i,end='')
        sum+=1
        j=i
        break
for j in range(j+1,a+1):
    if(j % b == 0):
        print(' '+str(j),end='')
        sum+=1
if(sum == 0 or b==0):
    print('None.')
大于身高的平均值 (10分)
中小学生每个学期都要体检,要量身高,因为身高可以反映孩子的生长状况。现在,一个班的身高已经量好了,请输出其中超过平均身高的那些身高。程序的输入为一行数据,其中以空格分隔,每个数据都是一个正整数。程序要输出那些超过输入的正整数的平均数的输入值,每个数后面有一个空格,输出的顺序和输入的相同。

输入格式:
在一行输入中一个班的身高值,以空格分隔。

输出格式:
在一行输出超过输入的平均数的输入值,以空格分隔。

输入样例:
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='')
列表或元组的数字元素求和 (10分)
求列表中数字和,列表中嵌套层次不限2层

输入格式:
在一行中输入列表或元组

输出格式:
在一行中输出数字的和

输入样例:
[11,2,[3,7],(68,-1),"123",9]
输出样例:
99

代码:
def getint(s):
    if type(s) == int:
        return s
    elif type(s) == str:
        return 0
    elif type(s) == list or type(s) == tuple:
        result = 0
        for i in range(0,len(s)):
            result += getint(s[i])
        return result
    else:
        return 0

s = list(eval(input()))
sum = 0
for i in range(0,len(s)):
    sum = sum + int(getint(s[i]))
print(sum)
列表数字元素加权和(2) (20分)
输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值*1,第二层每个元素的值为:元素值*(-2),第三层每个元素的值为:元素值*3, 第四层每个元素的值为:元素值*(-4),...,以此类推!

输入格式:
在一行中输入列表

输出格式:
在一行中输出加权和

输入样例:
[1,2,[3,4,[5,6],7],8]

输出样例:
16

代码:
def getint(s,count):
    if type(s) == int:
        if(count%2 ==0):
            return s * count * -1
        else:
            return s * count
    elif type(s) == str:
        return 0
    elif type(s) == list or type(s) == tuple:
        result = 0
        for i in range(0,len(s)):
            result += getint(s[i],count+1)
        return result
    else:
        return 0

s = list(eval(input()))
sum = 0
for i in range(0,len(s)):
    sum = sum + int(getint(s[i],1))
print(sum)
通过两个列表构建字典 (10分)
输入两行字符串,以空格为分隔,将每行字符串存储为列表形式。将第一个列表的元素值作为键,将第二个列表中对应顺序的元素作为值,构建一个字典,按键升序排列后输出字典的所有键值对列表。

输入格式:
输入两行字符串,分别以空格为分隔存为列表。

输出格式:
按键的升序,输出字典键值对列表。

输入样例:
学校 城市 邮编
集美大学 厦门 361021
输出样例:
[('城市', '厦门'), ('学校', '集美大学'), ('邮编', '361021')]

代码:

 字典合并与排序 (10分)
用户分两行输入两个字典,格式参照输入要求;请设计程序实现:

将两个字典合并为一个字典,如果两个字典中分别有相同的键(key),需将对应的值相加后作为字典中该键对应的新值。

输入格式:
用两行输入字典格式的两个数据,字典中键的数据类型统一为数字或字符,字典中值的数据均为数字。

输出格式:
输出合并后的字典数据,字典数据要求按照键的增序排列。

输入样例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}

猜你喜欢

转载自blog.csdn.net/z2431435/article/details/108919175