鱼C论坛

 找回密码
 立即注册
查看: 2627|回复: 2

[已解决]012 课后习题

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

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

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

x
  1. list1 = []
  2. for x in range(10):
  3.     for y in range(10):
  4.         if x%2 == 0:
  5.             if y%2 != 0:
  6.                 list1.append((x, y))
复制代码


这个代码该怎么理解?for 是对应哪个 if 吗?
最佳答案
2018-12-3 00:12:08
并不是if对应哪个for,上面的两个for成嵌套关系,下面的if是在第二个for里面执行的,与第一个没有直接关系。
  1. list1 = []
  2. for x in range(10):  #X从0到9依次输出
  3.     for y in range(10): #当X输出一个时,y都从0到9输出
  4.         if x%2 == 0:     #判断X是否为偶数
  5.             if y%2 != 0: #判断X是否为奇数
  6.                 list1.append((x, y))
复制代码


我大体描述下运行过程:  ①首先输出一个X=0,其次输出Y=0,判断X是否偶数,判断Y是否奇数  2.输出Y=1,判断X是否偶数,判断Y是否奇数。。。。。。     就是这样的过程。  相当于10*10 = 100个循环    当一个X的值,就对应有10个Y值
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-2 23:56:55 | 显示全部楼层
双层for循环,内层循环判断x为偶数,y为奇数。两个条件同时满足时list1中append 偶数+奇数组合

相当于给list中加入了所有10以内偶数+奇数的组合
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-3 00:12:08 | 显示全部楼层    本楼为最佳答案   
并不是if对应哪个for,上面的两个for成嵌套关系,下面的if是在第二个for里面执行的,与第一个没有直接关系。
  1. list1 = []
  2. for x in range(10):  #X从0到9依次输出
  3.     for y in range(10): #当X输出一个时,y都从0到9输出
  4.         if x%2 == 0:     #判断X是否为偶数
  5.             if y%2 != 0: #判断X是否为奇数
  6.                 list1.append((x, y))
复制代码


我大体描述下运行过程:  ①首先输出一个X=0,其次输出Y=0,判断X是否偶数,判断Y是否奇数  2.输出Y=1,判断X是否偶数,判断Y是否奇数。。。。。。     就是这样的过程。  相当于10*10 = 100个循环    当一个X的值,就对应有10个Y值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-23 06:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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