1.1 定义一个is_leap(year)函数,该函数可判断year是否为闰年。若是闰年,则返回True;否则返回False。

def is_leap(year):
    if int(year)% 100 != 0 and int(year) % 4 == 0:
        return True
    else:
        return False
    
data = input("请输入年份:")
if is_leap(data):
     print("是闰年")
else:
    print("不是闰年")

1.2 定义一个函数cubic(n),该函数返回1~n的立方和。

def cubic(n):
    sum = 0;
    for i in range(0,n):
        sum = sum + i**2
    return sum;

num = input("请输入一个数字:")
result = cubic(num)
print("这个数字的立方和是:"+str(result))

1.3定义一个函数,该函数返回n项的阶乘和,即为1!+2!+…+n!。

def jiecheng(n):
    result = 1
    for i in range(1,int(n)+1):
        result = result * i
    
    if result == 1:
        return 1
    else:
        return result + jiecheng(int(n)-1)

num = input("请输入一个数字:")
print("这个数的阶乘和为:"+str(jiecheng(num)))

1.4 定义一个函数prime§,该函数返回素数,当用户传入参数p为素数时返回True,否则返回False。

def prime(p):
    if p == 1:
        return True;
    for i in range(2,int(p/2)+1):
        if(p%i == 0):
            return False
    return True

number = input("请输入一个数字:")
if prime(number):
    print("这个数字是素数")
else:
    print("这个数字不是素数")

1.5 定义一个函数show_prime(),将题目1.4中的函数封装成模块,在本题中导入该模块,并显示从1到100中的所有素数。

import moudle
def show_prime():
    for i in range(1,100):
        if moudle.prime(i) == True:
            print(str(i) + "是素数")
        
show_prime()

1.6 定义一个函数,该函数接受一个列表list作为参数,用于去除list中重复的元素。

def distinct(temp_list):
    list_len = len(temp_list);
    for i in range(0,list_len):
        for j in range(0,list_len)[::-1]:
            try:
                if temp_list[i] == temp_list[j] and i != j:
                    temp_list.remove(temp_list[j])
                    list_len  = list_len -1
            except:
                pass
    return temp_list
        
temp_list = [1,2,3,4,3,2,8,4,8,1,5,2]
print("原列表",end=':')
print(temp_list)
temp_list = distinct(temp_list)
print("新列表",end=":")
print(temp_list)

1.7 编写一个函数change(str1),其功能是对参数str1进行大小写转换,将大写字母转换为小写字母;小写字母转换为大写字母;非英文字符不转换。
注意:该功能类似于str对象中的swapcase()方法

def change(str1):
    new_str = ""
    for item in str1:
        if item >= 'a' and item <='z':
            item = chr(ord(item) - 32)
        elif item >='A' and item <= 'Z':
            item = chr(ord(item) + 32);
        new_str = new_str + item
    return new_str

item = input("请输入一段字符串:")
change_str = change(item)
print("转换后的字符串是:"+str(change_str))

2.1 定义一个函数,要求输出n行n列的矩阵,以及其转置形式。
例如,当参数为3时,先输出①,再输出②
① ②

def print_martix(n):
    print("martix 1:")
    for i in range(1,n**2+1):
        if i % n == 0:
            print(i)
        else:
            print(i,end='\t')

    print("martix 2:")

    for i in range(n):
        for j in range(n):
            print(' %2d ' % (j * n + i + 1), end="")
        print()

num = int(input("请输入一个数字:"))
print_martix(num)

2.2 实现一个函数funcos,用下列公式cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加,例如最后一项如果小于eps=0.0001,则不将其加进来):cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?
函数接口定义:funcos(eps,x),其中用户输入的参数为eps和x;函数funcos应返回用给定公式计算出来,保留小数4位。

def jc(n):
    sum = 1
    if n == 0 :
        sum = 1
    for i in range(1,n+1):
        sum *= i
    return sum

def funcos(eps,x):
    key = 1
    v = 0
    sum = 0
    while True:
        if abs(x**v/jc(v)) < eps:
            break
        else:
            sum = sum + (key)*(x**v/jc(v))
            v += 2
        key = key * (-1)
    return sum

eps = float(input("请输入eps的值:"))
x = float(input("请输入x的值:"))
print(funcos(eps,x))
Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐