python程序设计基础 实验三

⭐python实验专栏,欢迎订阅与关注!

★观前提示:本篇内容为python程序设计实验,代码内容经测试没有问题,但是可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考。

一、实验目的

(1)掌握Python各种函数的使用。

二、实验内容

1、编写函数,求三个整数的最大值,函数原型为 def max3(a, b, c);

2、①编写函数,接收一个包含若干整数的列表参数lst,要求返回其中大于8的偶数组成的新列表,如果不存在就返回原输入列表。如果接收到的参数lst不是列表或者列表中的元素不都是整数,就返回字符串‘数据不符合要求。’。 输入示例及输出示例见下图:
在这里插入图片描述
②绘制程序流程图。

3、编写函数,接受3个分别表示年、月、日的正整数year,month,day,要求返回表示year年month月day日是周几的整数,1表示周一,2表示周二,以此类推,7表示周日。例如test(2020,10,5)返回1。

提示:怎么判断平年闰年?

①普通闰年:公历年份是4的倍数,且不是100的倍数,为闰年。例如2004是普通闰年。

②世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年。例如1900年不是世纪闰年,2000年是世纪闰年。

4、编写函数,函数原型为 def f(n),求 f(x)的值。函数的定义如下图所示:

5、列表 L = [(92,88), (79,99), (84,92), (66, 77)]有 4 项数据,每项数据表示学生的语文和数学成绩。求数学成绩最高的学生的成绩。

扫描二维码关注公众号,回复: 14635126 查看本文章

6、编写函数,接收一个字符串,判断该字符串是否为回文。

提示:所谓回文是指,从前向后读和从后向前读是一样的。

7、编写函数,接收参数 a 和 n,计算并返回形式如 a + aa + aaa + aaaa +…+ aaa…aaa 的表达式前 n 项的值,其中 a 为小于 10 的自然数。

★温馨提示:以下代码均为改正过的代码,皆已经过测试。

三、源码实现

1.求三个整数的最大值
# 1.求三个整数的最大值
x, y, z = eval(input("请分别输入三个整数,且用,分隔开:"))

def max3(a, b, c):
    temp = 0
    max1 = 0
    if a > b:
        temp = a
    else:
        temp = b
    if temp > c:
        max1 = temp
    else:
        max1 = c
    print('最大值为', max1)


max3(x, y, z)
2.接收列表以及返回其中大于8的偶数组成的新列表
#2.接收列表以及返回其中大于8的偶数组成的新列表
def get_even_numbers(lst):
    if not isinstance(lst, list) or not all(isinstance(i, int) for i in lst):
        return '数据不符合要求。'
    result = [i for i in lst if i > 8 and i % 2 == 0]
    if result:
        return result
    return lst

print(get_even_numbers(123))
print(get_even_numbers([1,2,"哈哈哈"]))
print(get_even_numbers([2,6,6,4]))
print(get_even_numbers([10,8,6,12,100,66]))
3.判断周几
#3.判断周几
import calendar

def Time(y,m,d) :
    n = calendar.weekday(y,m,d)
    return n+1


y = int(input("输入年:"))
m = int(input("输入月:"))
d = int(input("输入日:"))
print(Time(y,m,d))
4.求分段函数的值
#4.求分段函数的值
def fun(x):
    if x < 1:
        return x
    elif x >= 1 and x < 10:
        return 2 * x - 1
    else:
        return 3 * x - 11


x = int(input())
print(fun(x))
5.古诗对齐
def max_shu(t):
    return max(L, key=lambda x: x[1])

L = [(92, 88), (79, 99), (84, 92), (66, 77)]
print(max_shu(L))
6.判断字符串是否回文字符串
#6.判断字符串是否回文字符串
def is_palindrome(s):
    # 将字符串转换为小写,并去除除字母和数字以外的字符
    s = ''.join(c for c in s.lower() if c.isalnum())
    # 将字符串反转
    rev = s[::-1]
    # 如果反转后的字符串和原字符串相同,则该字符串为回文
    return s == rev

print(is_palindrome("aba"))  # True
# print(is_palindrome("hello"))   # False
# print(is_palindrome("A man, a plan, a canal, Panama!"))  # True
7.计算并返回表达式前 n 项的值
#7.计算并返回表达式前 n 项的值
def function(a, n):
    flag = 0
    m = a
    sum = int(0)
    for i in range(1, n + 1):
        sum += m
        if flag == 0:
            print(m, end=" ")
        else:
            print("+ {}".format(m), end=" ")
        m = 10 * m + a
        flag += 1
    return sum


a, n = map(int, input().split())
print("= {}".format(function(a, n)))

四、实验总结

1️⃣掌握了Python各种函数的使用;
2️⃣掌握了如何借助Python编程解决一些函数、实际应用问题;
3️⃣学会了如何区分Python各类函数,自定义函数、内置函数、匿名函数等。

2023.3.9记录:Code_流苏(CSDN)
如有任何疑问,评论回复,看到即回,欢迎大家多多交流学习!
★以上实验内容仅供参考。

猜你喜欢

转载自blog.csdn.net/qq_51646682/article/details/129428614