鱼C论坛

 找回密码
 立即注册
查看: 1383|回复: 13

[已解决]python问题求解答。

[复制链接]
发表于 2020-5-28 20:36:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

def min(x):
    least = x[0]

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

    return least

print(min('123456789'))

这是演示mix()实现过程的代码,有点不能理解,求大师帮忙解答,谢谢。
最佳答案
2020-5-28 20:42:24
本帖最后由 Twilight6 于 2020-5-28 20:43 编辑

def min(x):

    least = x[0]  # 取一个数进行起始值
    
    for each in x:  # 循环 x 字符串内的数字,依次与 least 的值进行比较

        if each < least: # 如果发现有比 least 更小的值,就将更小的值赋值给 least
            least = each  
    # 一直这样循环,直到for 循环结束,因为 least 每次一遇到比本身小的值就重新将小的值赋值给自己
    return least  # 所以返回的 least 是字符串中最小的值

print(min('123456789'))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-28 20:40:44 | 显示全部楼层
遍历列表,谁小返回谁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-28 20:42:24 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-5-28 20:43 编辑

def min(x):

    least = x[0]  # 取一个数进行起始值
    
    for each in x:  # 循环 x 字符串内的数字,依次与 least 的值进行比较

        if each < least: # 如果发现有比 least 更小的值,就将更小的值赋值给 least
            least = each  
    # 一直这样循环,直到for 循环结束,因为 least 每次一遇到比本身小的值就重新将小的值赋值给自己
    return least  # 所以返回的 least 是字符串中最小的值

print(min('123456789'))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-28 21:29:04 | 显示全部楼层
传入一个字符串。

然后先取第一个字符赋值给least,遍历字符串,拿字符串中所有的数字跟第一个字符比较:

如果比第一个字符小,那就把each赋值给least,否则的话继续比较,循环字符串长度次数,然后返回这个least.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-28 23:55:18 | 显示全部楼层
哇!
你和我QQ头像一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-29 03:14:33 | 显示全部楼层
试用数学归纳法证明:第 n 次循环后,least == x[0], x[1], ..., x[n] 中的最小值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 10:46:16 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-4 15:57:54 | 显示全部楼层

x[0]取的值应该字符串(“123456789”)里面的1对吧,for循环也是把这个字符串里面的值依次跟x[0]作比较,
least=x[0],for循环的值等于each。  each<least,  依次应该是 1:1  ,2:1  ,3:1 .....each没有比least小的值啊,还是不太明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-4 16:01:28 | 显示全部楼层
zgj1992 发表于 2020-6-4 15:57
x[0]取的值应该字符串(“123456789”)里面的1对吧,for循环也是把这个字符串里面的值依次跟x[0]作比较 ...

each 就是从 least里面取的值  把他取出来依次和 least 比较  如果有更小的 就把值赋值给 each 继续比较下去


你说的没错啊,这个案例里面没有比1 小的 所以输出值就是1啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-4 17:57:41 | 显示全部楼层
Twilight6 发表于 2020-6-4 16:01
each 就是从 least里面取的值  把他取出来依次和 least 比较  如果有更小的 就把值赋值给 each 继续比较 ...

谢谢了,我消化下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-4 18:09:23 | 显示全部楼层
Twilight6 发表于 2020-6-4 16:01
each 就是从 least里面取的值  把他取出来依次和 least 比较  如果有更小的 就把值赋值给 each 继续比较 ...

least的值什么来的,我理解的是least=x[0],least就是1了,那么each就没有比least小的了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-4 18:11:03 | 显示全部楼层
zgj1992 发表于 2020-6-4 18:09
least的值什么来的,我理解的是least=x[0],least就是1了,那么each就没有比least小的了。

噗 我上面那边打字了 不是从least 里面取值 是从 x 中取   其他地方没说错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-4 18:28:17 | 显示全部楼层
Twilight6 发表于 2020-6-4 18:11
噗 我上面那边打字了 不是从least 里面取值 是从 x 中取   其他地方没说错

我有点笨,谢谢你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-4 18:29:49 | 显示全部楼层
zgj1992 发表于 2020-6-4 18:28
我有点笨,谢谢你了

不会 怎么能说自己笨呢~ 加油刚刚开始时候都是一个样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 21:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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