鱼C论坛

 找回密码
 立即注册
查看: 812|回复: 3

变量一个问题没看明白

[复制链接]
发表于 2018-12-25 23:58:41 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 xyhk5558 于 2018-12-26 00:09 编辑

x="52398123"
least = x[7]
print ("初始化:",least)

for e in x:
    if e > least:
        least = e
    print ("e的值是:",e,end="")
    print (";此时lest的值是:",least)

结果为:

初始化: 3
e的值是: 5;此时lest的值是: 5
e的值是: 2;此时lest的值是: 5
e的值是: 3;此时lest的值是: 5
e的值是: 9;此时lest的值是: 9
e的值是: 8;此时lest的值是: 9
e的值是: 1;此时lest的值是: 9
e的值是: 2;此时lest的值是: 9
e的值是: 3;此时lest的值是: 9

当中least,是怎么比较的,赋值的,这个比较绕!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-26 00:11:58 | 显示全部楼层
本帖最后由 ba21 于 2018-12-26 00:14 编辑

least = x[7] # x[7] == 3
print ("初始化:",least) #打印3

for e in x: # 从0索引x列表中的数据
if e > least: # 如果这个值比之前的least小,则least = e
        least = e
print ("e的值是:",e,end="") #打印e
print (";此时lest的值是:",least) #打印least
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-26 08:07:06 | 显示全部楼层
本帖最后由 heidern0612 于 2018-12-26 08:12 编辑

题目开始,least[7]为3,也就是初始值。


此题的意思是,执行for循环的时候,拿for中的每个元素(也就是e)跟least进行比较(least初始值是3),

如果e比least大的话,least重新赋值等于e。

e的值始终没变化,变化的是least的值,只要e比least大了,least就变成e。



实际循环如下:

第一次循环,索引0为5,5比3大,least从3重新赋值,变成了5;

第二次循环,索引1为2,2没5大,least还是5没变化;

第三次循环,索引2为3,3没5大,least无变化;

第四次循环,索引3为9,9比5大,least从5重新赋值,变成了9;

后面的循环,least为9就是字符串里最大的了,所以least始终无变化。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-12-26 08:44:19 | 显示全部楼层
leas他每次都与上次迭代的值做比较,如果比上次值大,就赋这个新值,小的话,就还用上次迭代的值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-10 23:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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