Python程序设计 函数

教学案例十一 函数

第1关:定义逆序的函数

编写一个返回逆序数的函数。 主程序输入一个数n,然后调用该函数得到其逆序数。

def nxs(a):
#代码开始
    return eval("".join(reversed(str(a))))
#代码结束
n=eval(input("请输入一个数"))
print("逆序数是{}".format(nxs(n)))

第2关:1000之内的回文数

编写一个输出1000之内的回文数的程序 每行显示10个数,每个数显示宽度为5 注意:nx函数已经定义在本文件夹的程序nxhs.py中。

调用函数

程序调用一个函数需要执行以下四个步骤: (1)调用程序在调用处暂停执行; (2)在调用时将实参复制给函数的形参; (3)执行函数体语句; (4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行 函数名可以作为表达式的一部分,可以直接输出,可以出现在赋值语句,也可以作为其他函数的参数

from nxhs import *
#代码开始
n = 0
for i in range(1,1001):
    if i == nx(i):
        print("{:5d}".format(i),end="")
        n += 1
        if n % 10 == 0:
            print()

#代码结束

第3关:验证回文数猜想

验证回文数猜想。 回文数猜想是任取一个数,再把这个数倒过来,并将这两个数相加;然后这个和数再倒过来,与原来的和数相加。重复这个过程,一定能获得一个回文数 注意:调用nx函数(在nxhs.py文件中)得到逆序数

from nxhs import *
a=eval(input("输入一个数"))
#代码开始
while True:
    b = nx(a)
    if a == b:
        break
    print("{}={}+{}".format(a+b,a,b))
    a += b
#代码结束

 第4关:绘制田字格

定义一个函数ht,可以根据给定的字符和个数,画出田字格。若没有指定字符,则画出5个*号的田字格

def ht(ch="*",n=5):
    #代码开始
    n = int(n)
    line1 = (ch+" ") * (n*2+2)
    line2 = ch + " "*(2*n)+ch+" "*(2*n)+ch
    print(line1)
    for i in range(n):
        print(line2)
    print(line1)
    for i in range(n):
        print(line2)
    print(line1)
    #代码结束
zf=input("字符")
cs=input("个数")
ht(zf,cs)

 第5关:数值统计函数的定义

分别定义求平均值pjz、中位数zws和均方差jfc函数。可以返回多个整数的平均值、中位数和均方差,要求返回值均保留两位小数

def pjz(*x):
    #代码开始
    return round(sum(x)/len(x),2)
    #代码结束

def zws(*x):
#代码开始
    x = list(x)
    x.sort()
    if len(x)%2==0:
        y = len(x)//2
        return round((x[y-1]+x[y])/2,1)
    else:
        return x[len(x)//2]
#代码结束

def jfc(*x):
#代码开始
    avg = pjz(*x)
    s = 0
    for i in list(x):
        s += pow(i-avg,2)
    return round(pow(s/len(x),0.5),2)

#代码结束   


x=eval(input())
y=eval(input())
z=eval(input())
print(pjz(x,y,z),zws(x,y,z),jfc(x,y,z))
m=eval(input())
print(pjz(x,y,z,m),zws(x,y,z,m),jfc(x,y,z,m))

第6关:数值统计函数2

定义一个统计函数tj,可以返回多个整数的平均值、中位数和均方差,要求返回值均保留两位小数

def tjhs(*x):
#d代码开始
    x = list(x)
    x.sort()
    pjz=round(sum(x)/len(x),2)
    idx = len(x)//2
    if len(x)%2==0:
        zws=round((x[idx-1]+x[idx])/2,1)
    else:
        zws=x[idx]
    l=[pow(num-pjz,2) for num in x]
    jfc=round(pow(sum(l)/len(x),0.5),2)
    return pjz,zws,jfc
#代码结束
x=eval(input())
y=eval(input())
z=eval(input())
a,b,c=tjhs(x,y,z)
print(a,b,c)
m=eval(input())
a,b,c=tjhs(x,y,z,m)
print(a,b,c)

第7关:选择题

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python教学案例八-列表》是一篇针对Python语言教学的案例文章。它通过具体的实例和教学方法,帮助读者理解和掌握Python的列表操作。 文章首先介绍了列表的概念和基本用法。列表是一种有序的数据集合,可以包含任意数量的元素,每个元素可以是不同类型的数据(例如整数、浮点数、字符串等)。它们以方括号 [] 包围,元素之间用逗号分隔。 接着,文章深入讲解了列表的索引和切片操作。通过使用索引,我们可以访问列表的单个元素,并对其进行修改。切片操作可以选择列表的一个子集,并返回一个新的列表。 然后,文章介绍了列表的常用方法和函数。例如,append()方法可以在列表末尾添加新的元素,pop()方法可以删除列表的最后一个元素。此外,还介绍了一些其他常用的列表操作,如列表排序、列表拼接等。 随后,文章通过编写具体的代码实例,展示了列表的在实际应用的使用场景。例如,通过列表存储学生的成绩,然后根据成绩进行排序,计算平均值等。 最后,文章总结了列表的优点和注意事项。列表的灵活性和易于操作使得它成为Python重要的数据结构之一。但同时,需要注意列表的索引越界和对列表进行修改的影响等问题。 通过《Python教学案例八-列表》,读者可以系统地学习和掌握Python列表的基本操作和常用方法,为以后的编程实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值