循环中的i和循环计算

img


问题一:
这段代码前后两处循环都用了i,这样可以吗?尝试了一下第二个i用字母m替代,貌似没有影响。

问题二:

img


运行了两次,第一次没有报错,第二次报错。第二次报错是值的问题,不理解。

问题三:
两次都没有执行循环,这个可以理解,因为第8行的 for 写成了 if,但是这里我写for也报错,如下图。

img


这里应该怎么写呢?

第一个问题,可以
第二个问题,删除前需要判断一下你需要删除的元素是否在list中

 if i in x:
     x.remove(i)

不能将值分配给表达式。在 Python 中,只有变量才可以接受赋值,而表达式不能。因此,如果要解决这个问题,需要将表达式替换为变量。 回答不易,记得采纳呀!

1.只要出了循环之后你不要再依赖i的值,那么i的值用多少次都可以
for x in y就是从可迭代对象y中遍历出其中的每一项,赋值给x
注意python里没有块的概念,x的作用域并不会出了for循环就消失,而是在后面依然可以访问
但它只会保留最后一个值
2.复杂的代码要写py文件执行,不要用控制台
控制台只适合写非常简单的代码来测试功能,不适合写复杂的逻辑
出问题的原因是前面的代码只执行了一次,而后面写的代码执行了多次,导致要被删除的对象已经不在list中了
3.for改为while,你这根本就不符合任何语法,纯属瞎写