zgj1992 发表于 2020-5-28 20:36:05

python问题求解答。


def min(x):
    least = x

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

    return least

print(min('123456789'))

这是演示mix()实现过程的代码,有点不能理解,求大师帮忙解答,谢谢。

suchocolate 发表于 2020-5-28 20:40:44

遍历列表,谁小返回谁

Twilight6 发表于 2020-5-28 20:42:24

本帖最后由 Twilight6 于 2020-5-28 20:43 编辑

def min(x):

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

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

print(min('123456789'))

heidern0612 发表于 2020-5-28 21:29:04

传入一个字符串。

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

如果比第一个字符小,那就把each赋值给least,否则的话继续比较,循环字符串长度次数,然后返回这个least.

_荟桐_ 发表于 2020-5-28 23:55:18

哇!
你和我QQ头像一样

gux 发表于 2020-5-29 03:14:33

试用数学归纳法证明:第 n 次循环后,least == x, x, ..., x 中的最小值。

zwhe 发表于 2020-6-2 10:46:16

{:7_125:}

zgj1992 发表于 2020-6-4 15:57:54

Twilight6 发表于 2020-5-28 20:42


x取的值应该字符串(“123456789”)里面的1对吧,for循环也是把这个字符串里面的值依次跟x作比较,
least=x,for循环的值等于each。each<least,依次应该是 1:1,2:1,3:1 .....each没有比least小的值啊,还是不太明白{:10_266:}

Twilight6 发表于 2020-6-4 16:01:28

zgj1992 发表于 2020-6-4 15:57
x取的值应该字符串(“123456789”)里面的1对吧,for循环也是把这个字符串里面的值依次跟x作比较 ...

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


你说的没错啊,这个案例里面没有比1 小的 所以输出值就是1啊

zgj1992 发表于 2020-6-4 17:57:41

Twilight6 发表于 2020-6-4 16:01
each 就是从 least里面取的值把他取出来依次和 least 比较如果有更小的 就把值赋值给 each 继续比较 ...

谢谢了,我消化下{:5_109:}

zgj1992 发表于 2020-6-4 18:09:23

Twilight6 发表于 2020-6-4 16:01
each 就是从 least里面取的值把他取出来依次和 least 比较如果有更小的 就把值赋值给 each 继续比较 ...

least的值什么来的,我理解的是least=x,least就是1了,那么each就没有比least小的了。

Twilight6 发表于 2020-6-4 18:11:03

zgj1992 发表于 2020-6-4 18:09
least的值什么来的,我理解的是least=x,least就是1了,那么each就没有比least小的了。

噗 我上面那边打字了 不是从least 里面取值 是从 x 中取   其他地方没说错

zgj1992 发表于 2020-6-4 18:28:17

Twilight6 发表于 2020-6-4 18:11
噗 我上面那边打字了 不是从least 里面取值 是从 x 中取   其他地方没说错

我有点笨,谢谢你了

Twilight6 发表于 2020-6-4 18:29:49

zgj1992 发表于 2020-6-4 18:28
我有点笨,谢谢你了

不会 怎么能说自己笨呢~ 加油刚刚开始时候都是一个样的
页: [1]
查看完整版本: python问题求解答。