鱼C论坛

 找回密码
 立即注册
查看: 7096|回复: 37

[已解决]Python第十六讲测试题

[复制链接]
发表于 2016-10-12 16:24:29 | 显示全部楼层 |阅读模式
5鱼币
def min(x):
    least = x[0]

    for each in x:
        if each < least:
            least = each

    return least

print(min('123456789'))
这个程序中的
print(min('123456789'))是什么意思呀??
最佳答案
2016-10-12 16:24:30
本帖最后由 人zai旅途 于 2016-10-17 21:45 编辑

这里用到如下几个函数
1、print()函数,打印()里面的内容,这里就是打印min('123456789')的结果
2、min('123456789')的求值,又用到了函数,def 是定义函数的意思,后面的所有代码都是函数的具体内容
3、min()函数
def min(x):             # def 用来定义函数
    least = x[0]        #  least的值= x 里面下标为0的元素
    for each in x:          # for 循环,each 从 x 里面迭代
        if each < least:    # if 条件表达式,当x里的某一个元素都小于least的时候
            least = each    #  least就赋值为这个元素
    return least             #   函数最终的结果是返回 least的值

print(min('123456789'))  # x ='123456789',x[0]=1,least = 1,each迭代的时候,没有满足if条件的,直接返回1作为min('123456789')的结果
其实,least=x[8],或者least=x[5],least=x[n],n是0-8的任意数,min()函数就是求最小值
关键点在于for循环:
比如 least=x[5],相当于 least = 6,因为for each in x,也就是说each会依次等于1-9,
而if each < least:
            least = each
表示当each 小于6的时候,least会被each赋值,
each>=6,本函数内不处理,不返回任何数
each=5, least = each =5
each=4, least被重新赋值,least = each =4
each=3, least被重新赋值,least = each =3
each=2, least被重新赋值,least = each =2
each=1, least被重新赋值,least = each =1
所以,不管least=x[n],n取什么值,min(x)返回的都是x序列里面的最小值(字符串‘123456789’也属于序列)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-2 04:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表