Python小测试_2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一周
1.下列关于函数的描述中,正确的说法有哪些?
·函数可以是自己定义的,也可以是Python内置的·一个函数可以被重复调用多次
·函数可以不带参数,也可以带多个参数·函数可以有返回值,也可以没有返回值
2.一个if语句下可以有多少个elif分支?
·可以是0个,也可以是多个。
3.当p为True,q为False时,布尔表达式not ( p and not q )的结果是什么?【pycharm 上运行】
请在下面的输入框里填写答案True或False。【写print()里运行】·False
4.给定一个正整数x,希望用一个表达式直接求出它的十位数。例如:当x等于923时,得到的结果是2;当x等于1234时,得到的结果是3。下列哪些表达式可以计算出正确的结果?【写print()里运行】
(请在PyCharm中验证下列每个表达式的结果之后再作答)
x / 10 ·(x // 10) % 10 (x - x % 10) / 10 ·int(((x - x % 10) % 100) / 10) * 比如: x1=923
x2=1234
print(x1 / 10)
5.函数random.randint(0, 10) 和random.randrange(0, 10)产生的随机数范围不同。值得注意的是,【pycharm 上运行】在大多数Python编程中更习惯使用random.randrange(),因为该函数产生的数值更符合Python的范围习惯。
哪个数字是这两个函数其中一个可以产生的,而另一个函数无法产生的?请把这个数输入到下面的输入框中。·10* 因为:randint a<=x<=b 等于10
randrange a<=x
6.在PyCharm中编程实现数学函数f(x)=2x^2-(x-1)^3+1/x,然后利用你的函数计算f(-1),f(1)和f(2)。【pycharm 上运行】* x1=-1
请将三个结果中的最大值输入在下列方框中. x2=1
·9x3=2
fx1=2*x1**2-(x1-1)**3+1/x1
print(fx1)
7.在银行存款或是投资理财时我们会接触到复利这个概念。下面这个公式就是以复利模式来计算期末本息合计的:
FV=PV(1+rate)^periods【pycharm 上运行】
其中PV是指你的本金,也叫现值。FV是约定期限后的本息合计,也就是第一个计息周期到达后,计算利息,将利息加入本金产生本息合计,第二个计息周期到达后以上期的本息合计为本金再计算利息,逐期滚算到约定期末的本之息和,也叫终值。rate是指利率。periods是计息周期数,而计息周期是计算利息的时间单位,如:年,半年,季,月,周或天。
下面是一个利息计算程序的模板:
def future_value(present_value, annual_rate, periods_per_year, years):
# present_value表示现值PV
# annual_rate表示年利率
# periods_per_year表示每年的计息周期数
# years表示以年为单位的存款时间
rate_per_period = annual_rate / periods_per_year
#rate_per_period表示每个计息周期的利率
periods = periods_per_year * years
# 从这里开始输入你的代码来实现该函数的功能
第一周第一页
print("存入1000元,年利率为3%,按年计算利息,存3年,最终的本息合计是:", future_value(1000, 0.03, 1, 3))
print("存入1000元,年利率为3%,按月计算利息,存3年,最终的本息合计是:", future_value(1000, 0.03, 12, 3)) print("存入1000元,年利率为3%,按天计算利息,存3年,最终的本息合计是:", future_value(1000, 0.03, 365, 3)) 完成你的程序并运行它,注意观察运行结果,请将三种计息方法中最终本息合计的最大值填写在下面的文本框中,小数点后保留四位有效数字。
·1094.1702* def future_value(present_value, annual_rate, periods_per_year, years):
rate_per_period = annual_rate / periods_per_year
periods = periods_per_year * years
return present_value * (1 + rate_per_period) ** periods
print(future_value(1000,0.03,1,3))
print(future_value(1000,0.03,12,3))
print(future_value(1000,0.03,365,3))
8.计算正多边形的面积有很多种方法。给出多边形的边数n,每条边的长度s,那么正多边形的面积可以表示为:ns^2/4tan·pi/n【pycharm 上运行】
例如,某一正多边形有5条边,每条边长度为7厘米,则其面积为84.3033926289 平方厘米。
编写一个函数来计算正多边形的面积,该函数有2个参数:多边形的边数和每条边的长度。
请用你编写的函数计算正9边形(边长为1厘米)的面积。将得到的结果(不包含单位)输入到下面文本框中,
小数点后保留四位有效数字。提示:通过导入math模块(import math)来使用正切函数(math.tan)和圆周率(math.pi)·6.1818* import math
n= 9
s= 1
a = n * s**2 /( 4 * math.tan(math.pi/n))
9.下面的程序分别在第2行和第8行存在语法错误.这些语法错误是什么? print(a)
def max_of_2(a, b): * def max_of_2(a, b):
if a>b if a>b:
return a return a
else: else:
return b return b
def max_of_3(a, b, c): def max_of_3(a, b, c):
return max_of_2(a, max_of_2(b, c)) return max_of_2(a, b, c)
·缺少冒号·格式缩进不正确
10.下面代码有许多错误,其中数学计算是正确的,因此错误都是语法错误,根据错误提示,修改程序,使其能够正确运行。import math【pycharm 上运行】
define project_to_distance(point_x, point_y, distance):
dist_to_origin = math.sqrt(pointx ** 2 + pointy ** 2)
scale = distance / dist_to_origin
print(point_x * scale, point_y * scale)
project-to-distance(1, 6, 8)
正确的代码运行后会输出两个数字,第一个数字是1.31519,请在下面的输入框中填写第二个数字,小数点后保留五位。·7.89115
* import math
def project_to_distance(point_x, point_y, distance):
dist_to_origin = math.sqrt(point_x ** 2 + point_y ** 2)
scale = distance / dist_to_origin
print(point_x * scale, point_y * scale)
project_to_distance(1, 6, 8)第一周第二页