print语法执行有些不懂

print语法执行有些不懂

# 第二种情况

set1 = set()
for i in range(1,4):
   for j in range(1,4):
       if i == j:
           set1.add(i*j)
       print(set1)

老师您给的答案 当i =1时, j=2 j=3 条件不成立也会执行print语句,此时控制台输出3次{1}

有两点不明白:1 i =1时, j=2 j=3  条件不成立也会执行print语句,请问下是怎么执行的

                        2 j= 2  j=3 是两次循环 为什么会输出3次{1}

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好。

问题1、if和print是平级的,没有在if的代码块中。因此当if条件不成立时,会继续往下执行print函数。执行完所有代码后会执行下一次循环。

http://img1.sycdn.imooc.com//climg/5dae6b630974724903110148.jpg

问题2、是执行到j=3时,控制台一共输出3次,是包括j=1时输出的结果的

http://img1.sycdn.imooc.com//climg/5dae6cc409fe14d504120434.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • weixin_慕粉3466558 提问者 #1
    老师 您的答案里面并没有正面回答我的问题 1 1 我想问的是“因此当if条件不成立时,会继续往下执行print函数”,是指if不成立 就不执行set1.add(i*j)了吗 直接执行print(set1)为什么输出是{1} 2 当i=1 j=1时 输出{1},当i = 1 j=2,时输出{1} 当 i=1 j=3时 各输出{1},这样是三个{1},为什么运行是4个{1}.这点不明白
    2019-10-22 19:53:39
  • 同学,你好。问题1:set1.add()是if中的代码块,即条件成立时才会执行,不成立不执行。i=1,j=1时,set1为{1};i=1,j=2时,set1中还是{1}啊。问题二:第4个{1}是当i=2,j=1时输出的set1的结果,此时if条件不成立,set1的值依旧为{1}。只有当i=2,j=2时才会执行set1.add()语句,向set1中添加元素。祝学习愉快~~~~
    2019-10-23 09:41:55
  • 老师 您说的“i=1,j=2时,set1中还是{1}啊” 是可以理解成:if不成立,不执行set1.add(i*j)。输出print(set1) 保持和上个结果 {1} 一致是吧
    2019-10-23 10:46:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师