6-1 求列表中能被3整除的数
本题要求实现一个函数mult3(),带一个整数列表作为输入参数,仅仅输出列表中是3的倍数的那些数值,每个值占一行。
函数接口定义:
mult3(lst)
lst是传入的整数列表。
裁判测试程序样例:
# 请在这里填写答案
def main():
mylist = list(map(int,input().split(",")))
mult3(mylist)
main()
输入样例:
3,1,6,2,3,9,7,9,5,4,5
输出样例:
输出:
3
6
3
9
9
代码示例
def mult3(lst):
for num in lst:
if num % 3 == 0:
print(num)
解析:基础的函数接口调用题,只需掌握函数调用方法即可
6-2 计算一元二次方程的根
已知一元二次方程ax²+bc+c=0的三个系数,求解方程的实根。设计 equation(a,b,c)函数,三个参数分别为二次项系数a,一次项系数b和常数项系数c。计算Δ=b²−4ac。若Δ≥0,则有实根,返回两个实根,要求保留2位小数,英文逗号分隔;若Δ<0,则没有实根,返回“没有实根”。
计算方程两个根的公式为:
函数接口定义:
def equation(a,b,c):
裁判测试程序样例:
# 请在这里写答案
a,b,c=map(float,input().split())
print(equation(a, b, c))
输入样例1:
在这里给出一组输入。例如:
1 -2 1
输出样例1:
在这里给出相应的输出。例如:
1.00,1.00
输入样例2:
在这里给出一组输入。例如:
2 11 -6
输出样例2:
在这里给出相应的输出。例如:
0.50,-6.00
输入样例3:
在这里给出一组输入。例如:
2 2 1
输出样例3:
在这里给出相应的输出。例如:
没有实根
代码示例
def equation(a, b, c):
delta = b ** 2 - 4 * a * c
if delta >= 0:
x1 = ((-b) + delta ** 0.5) / (2 * a)
x2 = ((-b) - delta ** 0.5) / (2 * a)
x1="{:.2f}".format(x1)
x2="{:.2f}".format(x2)
return x1 + ',' + x2
else:
return '没有实根'
解析:函数接口equation(a,b,c)主要实现判断和计算功能,其中的
x1="{:.2f}".format(x1)
以及
x2="{:.2f}".format(x2)
代码主要实现小数点后两位功能以及转化为字符串功能
6-3 手机尾号暴露你的年龄
微信朋友圈中曾疯传“手机尾号暴露你的年龄”,其算法如下:①看一下你手机号的最后一位;②把这个数字乘以2;③然后加上5;④再乘以50;⑤把得到的数加上1772;⑥用这个数减去你出生的那一年,现在得到一个新的数字,该数字的最后两位就是你现在的实际年龄(本规则仅适用于年龄在100岁以内的人,今年是2022年)。
函数接口定义:
在这里描述函数接口。例如:
def age(n,y):
该函数有两个参数:参数n为手机号最后一位;参数y为四位数的出生年份,如2002。该函数要返回按照上述规则计算出来的年龄。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
/* 请在这里填写答案 */
num,year=eval(input())
print("2022年我{}岁".format(age(num,year)))
输入样例:
在这里给出一组输入。例如:
6,2002
输出样例:
在这里给出相应的输出。例如:
2022年我20岁
代码示例
def age(n,y):
n=(n*2+5)*50+1772-y
n=n%100
return n
6-4 判断整数的各位数字是否互不相同
编写一个函数 isdif(n),用来判断参数n(n为正整数)的各位数字是否互不相同,若互不相同,则返回1,否则返回0。在主程序中调用该函数,输出结果。
函数接口定义:
在这里描述函数接口。例如:
def isdif(n):
函数的参数n是一个正整数,函数要返回1或者0。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
/* 请在这里填写答案 */
n=int(input())
if isdif(n):
print("{}的各位数字互不相同".format(n))
else:
print("{}的各位数字不是互不相同".format(n))
输入样例:
在这里给出第一组输入。例如:
12345
在这里给出第二组输入。例如:
13345
输出样例:
在这里给出第一组输出。例如:
12345的各位数字互不相同
在这里给出第二组输出。例如:
13345的各位数字不是互不相同
代码示例
def isdif(n):
num=n%10
n=n/10
flag1=1
while n!=0:
num2=n%10
if num2==num:
flag1=0
break
n=n//10
num=num2
return flag1
6-5 分段函数求解
输入一个实数x,调用函数fun(x),根据x的值计算分段函数y的值,并将其返回主程序。
分段函数y如下所示:
函数接口定义:
在这里描述函数接口。例如:
def fun(x):
参数x是一个实数,函数要返回一个实数。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
from math import*
/* 请在这里填写答案 */
x=float(input())
print("{:.2f}".format(fun(x)))
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
5.10
代码示例
import math
def fun(x):
if x<2:
y=3*x+5
elif x<3:
y=2*math.sin(x)-1
else:
y=(1+x**2)**0.5
return y
6-6 zust-sy9-2编写函数sum(x),求x的各位数字之和
从键盘输入正整数n,调用自定义函数sum(x),计算各位数字之和并输出结果。
函数接口定义:
sum(x)
其中x 是用户传入的参数。函数返回x的各位数字之和。
裁判测试程序样例:
/* 请在这里填写答案 */
n=input()
print(sum(n))
输入样例:
在这里给出一组输入。例如:
35
输出样例:
在这里给出相应的输出。例如:
8
代码示例
def sum(x):
s = 0
for i in str(x):
s += int(i)
return s
6-7 求e的x次方的近似数 - 实验12 用函数实现模块化程序设计- 《Python编程基础及应用实验教程》,高教社
e×的近似数求解可用公式(12-1)来实现,当最后一项小于10-6时停止计算,小于10-6的最后一项不参与求和。
针对上面的近似公式,可以把问题分解为“求各项值函数”和“求和函数”。而“求各项值函数”又可以分解为“求幂函数”和“求阶乘函数”。
下述程序中已给出“求和函数”sum(x)以及相关输入输出代码,请编写并提交powers(x,n)以及fac(n)函数的定义,使得程序可以运行并输出正确结果。
函数接口定义:
def powers(x,n)
def fac(n)
其中,powers(x,n)函数计算并返回x
n
; fac(n)函数计算并返回n! 。
裁判测试程序样例:
#在此处提供powers以及fac函数的定义
def sum(x):
i=0
s=0
while (powers(x,i)/fac(i))>=1e-6:
s=s+powers(x,i)/fac(i)
i=i+1
return s
x=int(input())
ex=sum(x)
print("%d powers of e = %.4f"%(x,ex))
输入样例:
10
输出样例:
10 powers of e = 22026.4658
代码示例
def powers(x,n):
num=x**n
return num
def fac(n):
num2=1
for i in range(1,n+1):
num2=num2*i
return num2
6-8 jmu-python-组合数据类型-1.计算坐标点欧氏距离
读取若干个点,每个点放入元组。并将所有点的点信息、点的类型、点与原点的距离打印出来。
函数接口定义:
readPoint() #从一行以,分隔的数中读取坐标,放入元组并返回
distance(point) #计算point与原点的距离并返回,要math库中的函数
裁判测试程序样例:
/* 请在这里填写答案 */
n = int(input())
for i in range(n):
p = readPoint()
print('Point = {}, type = {}, distance = {:.3f}'.format(p,type(p),distance(p)))
输入格式:
输入n,代表底下要输入n行点坐标。坐标全部为整数。
点坐标x,y,z以,分隔。坐标全部为整数。
注意:坐标以,分隔,相应位置可能无字符或者包含多个空格字符,读入时按照0进行处理。
输出格式:
见输出样例
输入样例:
5
1,1,1
,,
2,,1
3,1,3
5,,
输出样例:
Point = (1, 1, 1), type = <class 'tuple'>, distance = 1.732
Point = (0, 0, 0), type = <class 'tuple'>, distance = 0.000
Point = (2, 0, 1), type = <class 'tuple'>, distance = 2.236
Point = (3, 1, 3), type = <class 'tuple'>, distance = 4.359
Point = (5, 0, 0), type = <class 'tuple'>, distance = 5.000
代码示例
import math
def readPoint():
s = input().strip().split(',')
x = int(s[0]) if s[0] != '' else 0
y = int(s[1]) if s[1] != '' else 0
z = int(s[2]) if s[2] != '' else 0
return (x,y,z)
def distance(point):
return math.sqrt(point[0]**2 + point[1]**2 + point[2]**2)
这一切,似未曾拥有