好难好难 发表于 2023-1-27 13:39:15

我真的搞不懂啊!!1


他这个到底是为什么啊,我不明白是怎么打出来的{:5_99:}

柿子饼同学 发表于 2023-1-27 14:58:06

本帖最后由 柿子饼同学 于 2023-1-27 15:05 编辑

for i in range(1, 10):                           # i 在 [1, 10) 范围内遍历, 相当于打印 9 行
    for j in range(1, i + 1):                  # j 在 [1, i + 1) 范围内遍历, 第i行有 i 个算式
      print(i, "x", j, "=", i*j, end = " ")    # 从 1x1=1 开始
    print("\n")                                  # 换行
for i in range(1, 10):
    # 当 i = 3 时,
    for j in range(1, i + 1):
      # j 的范围是 1 到 3 (range()是左闭右开区间, 不会到 4)
      # 试着运行一下 , j 先是 1, 打印 3 * 1 = 3
      # 完成之后 , j 变成 2, 打印 3 * 2 = 6
      # 然后是 3 * 3 = 9
      print(i, "x", j, "=", i*j, end = " ")
      # 你照着看就知道了
      # 这里 end = " " print() 有一个参数叫 end , 表示打印完成之后打印的东西, 默认是换行
      # 我们不想让它打印一个式子之后就换行, 所以给它变成 " " , 也就是空格
    print("\n")
    # \n 是换行符, 也就是说, 第 i 层打印完成后会先换行再打印 i + 1 行
    # 如上 , 你可以直接写 print(), 因为它默认是换行的

qingzhengzhu 发表于 2023-1-27 16:13:39

可以debug走一遍就看懂了

小甲鱼的二师兄 发表于 2023-1-27 16:23:40

建议找张纸和笔,跟着程序流程,它打印什么,你就写什么,走一遍流程你就懂了

好难好难 发表于 2023-1-27 21:04:13

柿子饼同学 发表于 2023-1-27 14:58


非常感谢,我主要想不明白的就是那个i+1,不知道这东西比i大一个该怎么运行,我虽然没明白那个左闭右开区间具体是啥意思 ,不过大体是懂了,再次感谢!{:5_106:}
页: [1]
查看完整版本: 我真的搞不懂啊!!1