大家好,小编为大家解答大学python题库及答案解析的问题。很多人还不知道python期末编程题及答案,现在让我们一起来看看吧!
课本:
🕒 1. 控制结构
【例3-6】计算分段函数值。
y = { cos x + x 2 + 1 ( x < 0 ) x x + x ( x ⩾ 0 ) y=\left\{\begin{array}{ll} \cos x+\sqrt{x^{2}+1} & (x < 0) \\ x \sqrt{x+\sqrt{x}} & (x \geqslant 0) \end{array}\right. y={cosx+x2+1 xx+x (x<0)(x⩾0)
# import math # 之后使用方法需要math.sqrt
from math import sqrt,cos # 可直接使用方法
x=eval(input('请输入x的值:')) # eval返回表达式的值
if x<0:
y=cos(x)+sqrt(x*x+1)
if x>=0:
y=x*sqrt(x+sqrt(x))
print('x={},y={:.3}'.format(x,y)) # y保留三位
【例3-7】简化PM 2.5空气质量提醒: 0~35为优,35~75为良,75以上为污染python简单代码游戏。试根据输入的PM2.5数值,输出空气质量。
PM=eval(input("请输入PM2.5数值: "))
if PM>=0 and PM<35:
print("空气优质,快去户外运动!")
if PM>=35 and PM<75:
print("空气良好,适度户外活动!")
if PM>=75:
print("空气污染,出行请小心!")
☆【例3-13】计算1+2!+3!+…+10!的结果。
s=0
t=1
for i in range(1,11):
t=t*i
s=s+t
print("运算结果是:{}".format(s))
输出结果:运算结果是:4037913
【例3-14】采用while语句计算1至100的和。
sum=0
n=1
while n<=100:
sum+=n
n=n+1
print("1+2+3+…+100=", sum)
【例3-15】采用while语句输出四叶玫瑰数。四叶玫瑰数是指一个四位整数,其各位上数字的四次方(四次幂)之和等于该数本身。
n=1000
while n<10000:
one=n%10
ten=n//10%10
hundred=n//100%10
thousand=n//1000
if one**4+ten**4+hundred**4+thousand**4==n:
print(n)
n+=1
输出结果:1634、8208、9474
【例3-16】采用while语句根据近似公式求自然对数的底数为e的值,直到最后一项绝对值小于10-6为止。
e ≈ 1 + 1 1 ! + 1 2 ! + . . . + 1 n ! e\approx 1+\frac{1}{1!} +\frac{1}{2!} + ... + \frac{1}{n!} e≈1+1!1+2!1+...+n!1
e=1
n=1
m=1
while (1/n >= pow(10, -6)):
n*=m # 求阶乘
e+=1/n
m+=1
print("e =", e)
输出结果:e = 2.7182818011463845
【例3-27】编程判断某一年是否为闰年。判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除的是闰年。
#使用一个逻辑表达式判断闰年条件
y=int(input("请输入年份:"))
if ((y%4==0 and y%100 != 0) or y%400==0):
print("是闰年")
else:
print("不是闰年")
#使用if-elif语句判断闰年条件
y=int(input("请输入年份:"))
if (y%400==0):
print("是闰年")
elif (y%4 != 0):
print("不是闰年")
elif (y%100 == 0):
print("不是闰年")
else:
print("是闰年")
#通过使用嵌套的if语句编写判断闰年问题,程序代码如下:
y=int(input("请输入年份:"))
if (y%400==0):
print("是闰年")
else:
if (y%4==0):
if (y%100==0):print("不是闰年")
else: print("是闰年")
else: print("不是闰年")
☆【例3-29】100 以内的素数存于列表中并打印输出。
num=[]
for n in range(2,100):
for x in range(2, n):
if (n%x==0):
break
else:
num.append(n)
print(num)
输出结果:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
【例3-32】利用公式: π 4 = 1 − 1 3 + 1 5 − 1 7 + … \frac{π}{4}=1−\frac{1}{3}+\frac{1}{5}−\frac{1}{7}+… 4π=1−31+51−71+…计算π的近似值,直到某项绝对值小于10-6为止。
s=0 #表示累加和
t=1 #表示符号
x=1 #表示要累加的项
i=1 #表示分母
while x>=1e-6:
x=1/i
s=s+t*x
t=-t
i=i+2
s=4*s
print("π的近似值为:{}".format(s))
输出结果:π的近似值为:3.1415946535856922
课后综合题
1、编写程序实现以下功能:求满足1+2+3+4+…+n>2020的最小n 并输出(要求用循环实现)
n = 1
sum = 0
while sum <= 2020:
sum += n
n += 1
print(n - 1)
输出结果:64
2、给出一个小于1000的正整数,编程求该数是几位数,并