当前位置:   article > 正文

python第六章作业 函数和模块

python第六章作业

1. (程序题)

 输入1个列表,将这个列表降序排列,并打印出来。

用例:

输入:

1,3,2,5

输出:

[5, 3, 2, 1]

  1. # 将用户从输入的字符串按逗号分隔,并存储在变量 list 中
  2. list=input().split(',')
  3. # 将 list 中每个字符串转换为整数,并使用列表推导式创建一个新列表
  4. list=[int(x) for x in list]
  5. # 对新列表进行降序排序
  6. list.sort(reverse=True)
  7. # 输出排序后的列表
  8. print(list)

 

 

2. (程序题)

编写程序,随机输入包含任意个0到10之间的整数列表,并按升序统计每个元素的出现次数。

用例:

输入:

1343514143

输出:

1:3    3:3    4:3    5:1

  1. str_s=input()
  2. new_list=list(filter(str.isdigit,str_s))#通过filter()函数实现str转列表
  3. new_list_dic={}
  4. #利用for循环获取每个元素出现的次数
  5. for i in new_list:
  6. if i not in new_list_dic:
  7. new_list_dic[i]=1
  8. else:
  9. new_list_dic[i]+=1
  10. print(new_list_dic)

暂未未实现升序排序,菜菜,教教 

3. (程序题)

输入一个时间长度(自主输入,以秒为单位),使用time.localtime(t)格式化时间为本地时间并输出,然后增加n秒(自主输入),再输出当前时间。

用例:

输入:

1648391024.544907

5

输出:

2022-03-27 22:23:44

2022-03-27 22:23:49

  1. import time
  2. t=float(input())
  3. n=int(input())
  4. local_time=time.localtime(t)#将秒数转化为本地时间struct_time对象
  5. print(time.strftime("%Y-%m-%d %H:%M:%S", local_time))#将struct_time对象格式化为字符串输出,%Y年份,%m月份,%d日期,%H小时(24小时制),%M分钟,%S秒
  6. new_t=t+n
  7. local_time=time.localtime(new_t)
  8. print("本地时间为:", time.strftime("%Y-%m-%d %H:%M:%S", local_time))

 

4. (程序题)

依次输入两个数i和j,编写函数求出区间 [i,j] 内(包含端点值)所有整数的和。

用例:

输入:

3

8

输出:

33

  1. i=int(input())
  2. j=int(input())
  3. c=j-i+1
  4. d=int(c/2)
  5. num=(i+j)*d
  6. print(num)

该题暂未使用函数实现,但是输出能过就没问题辣

 

5. (程序题)

输入三门课成绩,编写函数,计算三门课程总分和平均值。

用例:

输入:

95

98

78

输出:

成绩总和: 271

平均成绩: 90.3

  1. def calc_score(*args):
  2. total = sum(args) # 计算总分
  3. avg_score = total / len(args) # 计算平均分
  4. return [total, avg_score]
  5. # 输入三门课程成绩
  6. score1 = int(input("请输入第一门课程的成绩:"))
  7. score2 = int(input("请输入第二门课程的成绩:"))
  8. score3 = int(input("请输入第三门课程的成绩:"))
  9. # 计算成绩总和和平均成绩
  10. result = calc_score(score1, score2, score3)
  11. # 输出结果
  12. print("成绩总和:", result[0])
  13. print("平均成绩:","%.1f"% result[1])

 

 

6. (程序题)

 输出斐波那契数列的第n项。斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34…,第一项和第二项为1,从第三项开始,每一项都是前两项之和。注意,要使用递归函数的方式。

用例:

输入:

6

输出: 

8(注:输入位第n项,输出为第n项的值)

  1. def fibonacci(n):
  2. if n <= 2:
  3. return 1#如果是前两项,则返回1
  4. else:
  5. return fibonacci(n-1) + fibonacci(n-2)#递归调用自己,返回前两项之和
  6. n = int(input())
  7. result = fibonacci(n)
  8. print(result)

 

 

7. (程序题)

利用递归函数的方法求n!(n的阶乘)。

用例:

输入:

6

输出:

6的阶乘是720

 

  1. def jiecheng(n):
  2. if n==1:
  3. return 1
  4. else:
  5. return n*jiecheng(n-1)
  6. n=int(input())
  7. print(str(n)+"的阶乘是"+str(jiecheng(n)))

 

8. (程序题)

编写函数,可以接收3个以内参数输入,并输出其中的最大值和所有整数之和。

用例1:

输入:

3

5

6

9

输出:

最大值为9,和为20

备注:其中3表示输入3个数,这里也可以输入1、2个参数。5 6 9为分别输入的数。

用例2:

输入:

4

输出:

输入错误!!!

  1. # 定义函数 task_8,接收任意数量的参数
  2. def task_8(*args):
  3. # 计算参数中的最大值并存储到变量 a 中
  4. a = max(args)
  5. # 从参数中筛选出整数,计算它们的总和
  6. total = sum(filter(lambda x: isinstance(x, int), args))
  7. # 返回计算结果,以列表形式存储
  8. return [a, total]
  9. # 获取用户输入,并将其转换成整数存储在变量 num 中
  10. num = int(input())
  11. # 如果输入值超出范围,则输出错误提示
  12. if num > 3 or num < 1:
  13. print("输入错误!!!")
  14. else:
  15. # 初始化一个空列表存储用户输入的整型数据
  16. inputs = []
  17. # 循环 num 次,获取用户输入,将其转换为整型并存储在 inputs 列表中
  18. for i in range(num):
  19. x = input()
  20. # 如果输入值不是数字,则输出错误提示并跳出循环
  21. if not x.isdigit():
  22. print("输入错误!!!")
  23. break
  24. # 将输入值转换为整型并存储在 inputs 列表中
  25. inputs.append(int(x))
  26. else:
  27. # 将 inputs 列表传递给 task_8 函数,并获取计算结果
  28. result = task_8(*inputs)
  29. # 输出计算结果
  30. print('最大值为'+str(result[0])+', 和为'+str(result[1]))

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/732838
推荐阅读
相关标签
  

闽ICP备14008679号