关于循环语句
i = 1while i <= 30 and i % 2 == 1:
print(i)
为什么用如上代码无法输出所有小于等于30的奇数? i没有自增,循环没法跑 i = 1
while i <= 30:
if i%2==1:
print(i)
i=i+1
1,i需要不断增大
2,i%2==1不是循环的条件,而是输出的条件 青出于蓝 发表于 2021-8-3 17:01
1,i需要不断增大
2,i%2==1不是循环的条件,而是输出的条件
第一点明白了,第二点还是有点懵,不是得通过循环判断i%2==1是否成立才行吗,为什么是输出的条件呢? 于熙顿 发表于 2021-8-3 17:06
第一点明白了,第二点还是有点懵,不是得通过循环判断i%2==1是否成立才行吗,为什么是输出的条件呢?
因为如果把它设为循环条件,一旦不成立就不会在继续循环了。
相比较while循环,我感觉还是range比较友好一点
for i in range(1,31):
if i%2==1:
print(i) 青出于蓝 发表于 2021-8-3 17:01
1,i需要不断增大
2,i%2==1不是循环的条件,而是输出的条件
还有i%2==1在写代码的时候中间一定用加空格吗? 青出于蓝 发表于 2021-8-3 17:01
1,i需要不断增大
2,i%2==1不是循环的条件,而是输出的条件
while和and可以连用吗? 于熙顿 发表于 2021-8-3 17:06
第一点明白了,第二点还是有点懵,不是得通过循环判断i%2==1是否成立才行吗,为什么是输出的条件呢?
lz可以跑一跑,我们代入进来试一试,加入吧i%2设为循环条件
i=1,输出1
i=2,不符合循环条件,跳出循环。
程序运行完毕
慢慢思考,是否发现了问题所在? 于熙顿 发表于 2021-8-3 17:08
还有i%2==1在写代码的时候中间一定用加空格吗?
不是的 于熙顿 发表于 2021-8-3 17:09
while和and可以连用吗?
可以 青出于蓝 发表于 2021-8-3 17:09
lz可以跑一跑,我们代入进来试一试,加入吧i%2设为循环条件
i=1,输出1
i=2,不符合循环条件,跳出循环 ...
想明白了谢谢 青出于蓝 发表于 2021-8-3 17:10
不是的
我还想问一下是不是像i%2==1这样一类的运算式子中间都可以不加空格 StudyPython_1 发表于 2021-8-3 17:07
相比较while循环,我感觉还是range比较友好一点
谢谢 我以后找时间试一下 于熙顿 发表于 2021-8-3 17:22
我还想问一下是不是像i%2==1这样一类的运算式子中间都可以不加空格
运算符前后?
可加可不加但注意要一致
正确:
i%2==1
i%2 == 1
i%2==1
错误:
i%2 ==1 青出于蓝 发表于 2021-8-3 17:25
运算符前后?
可加可不加但注意要一致
正确:
万分感谢~~ 于熙顿 发表于 2021-8-3 17:30
万分感谢~~
{:10_268:}
有问题多交流
页:
[1]