鱼C论坛

 找回密码
 立即注册
查看: 5259|回复: 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’也属于序列)

最佳答案

查看完整内容

这里用到如下几个函数 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 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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’也属于序列)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-12 17:04:23 | 显示全部楼层
min('123456789')是调用上面定义的函数min( ),函数的输入是字符串'123456789',经过min( )函数处理,返回输入的最小值,并通过print( )函数打印出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-12 17:33:16 | 显示全部楼层
打印输出 ‘123456789’ 中最小的一个数 min()取最小数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-12 17:54:10 | 显示全部楼层
调用函数  求字符串中的最小数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-13 13:04:23 | 显示全部楼层
>>> x=[1,2,3,4,5,6,7,8,9]
>>> for each in x:
        print(each)

1
2
3
4
5
6
7
8
9
>>> y='123456789'
>>> for each in y:
        print(each)

1
2
3
4
5
6
7
8
9

可以发现字符串可以当作元组一样处理,通过下标获取每一个字符。转换为数值通过比较获取数值最小的那个字符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-16 11:03:11 | 显示全部楼层
序列自带有min(), 此处你自己定义了一个min()会覆盖的BIF,这个自己定义的min()实际上就是BIF中的min()的内部实现原理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-17 15:25:56 | 显示全部楼层
去字符串中最小的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-17 22:35:54 | 显示全部楼层
‘12345'是字符串,字符串是个迭代器,也就是和list,tuple差不多的,也可以使用中括号【】来取里面的元素。例如
str1 = ‘12345’
print(str1[0])

结果就是1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-18 09:06:26 | 显示全部楼层
你定义了一个求整型字符串中最小值的函数,然后你调用了这个函数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-18 16:14:40 | 显示全部楼层
  1. def min(x):
  2.     least = x[0]

  3.     for each in x:
  4.         if each < least:
  5.             least = each

  6.     return least
复制代码

上面是定义一个名字叫 min(x)的函数,参数是x,这个函数的功能是求参数x的最小值,
参数x不要就理解为数学中的未知数字啊,在计算机中它可以数字符串/列表/数组/字典这些数据类型啊。

print(min('123456789'))的意思是打印输出 min('123456789')的值,如果不理解民('123456789')的含义,可以自己在编译器中 打如下代码: print('123456789')会发现计算机输出的是如下内容:
1
2
3
4
5
6
7
8
9

通过以上你可以看出计算机识别  '123456789'的时候是把这一个字符串单独进行识别的,所以
min('123456789')就是求字符串'123456789' 的最小值,也就是求 1 2 3 4 5 6 7 8 9 这9个数字的最小值啦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-18 16:48:59 | 显示全部楼层
取最小值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-18 18:00:30 | 显示全部楼层
def min(x)  定义了函数了  参数为X
print (min('123456789'))   其中min('123456789')  中的 ‘12345678’给参数X赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-18 19:24:04 | 显示全部楼层
就是调用min()函数
就是实现找到123456789中最小的数打印出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-19 11:45:46 | 显示全部楼层
最小值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-21 15:56:55 | 显示全部楼层
min('123456789')是取‘123456789’中的最小值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-23 14:56:38 | 显示全部楼层
调用函数,循环比较,打印最小的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-24 09:06:04 | 显示全部楼层
print里面是min('123456789')所以是打印123456789里面最小的数,在print里面套了一层函数而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-24 10:06:13 | 显示全部楼层
就是直接在print中调用函数min。具体就是会把你的数值变为列表,然后寻找最小值并且返回。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-24 10:31:27 | 显示全部楼层
求解字符串的最小值,并打印到屏幕
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 01:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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