fxz5820 发表于 2024-4-5 14:25

请问问一个py的题目

本帖最后由 fxz5820 于 2024-4-5 14:35 编辑

https://imgsrc.baidu.com/forum/pic/item/a9d3fd1f4134970a94ffee14d3cad1c8a7865d79
https://imgsrc.baidu.com/forum/pic/item/a9d3fd1f4134970a94ffee14d3cad1c8a7865d79




https://i.postimg.cc/bYTLFLRZ/2024-04-05-141931.pnghttps://pic.imgdb.cn/item/660f9b8f68eb935713485041.png
求大神帮忙解答

fxz5820 发表于 2024-4-5 15:05

https://p.ananas.chaoxing.com/star3/origin/b2728a4dc142207e5fae4de5fe39dff8.png

baipiao520 发表于 2024-4-5 15:34

你的range里都有i当然会变啊,多写几个print(i)就知道i是怎么变的了

我心飞翔1995 发表于 2024-4-5 18:27

本帖最后由 我心飞翔1995 于 2024-4-5 18:29 编辑

所以,你的问题是什么?
不要丢一句求解答就让别人回复一堆,你要写出你的思考、你的尝试、你的疑问,如果基础没有看完就想别人指点你,建议先看一遍完整的基础,不然别人给你讲解的时候你还是要问,浪费时间。

ScriptKid777 发表于 2024-4-5 18:42

按照你的代码运行了一遍,是没有问题的,你想问什么问题可以说清楚一下

lww32 发表于 2024-4-5 20:06

啥也不说清楚,咋回答

gamewfj 发表于 2024-4-5 20:46

本帖最后由 gamewfj 于 2024-4-6 11:08 编辑


j = 12
print ('j='+str(j))

for i in range(1,j):
    if i<=(j//2):
      print (" "*((j//2)-i),end='')
      print (chr(64+i)*((2*i)-1))
    else:
      if j%2==0:
            print (" "*(i-(j//2)),end='')
      else:
            print (" "*(i-(j//2)-1),end='')
      print (chr(64+i)*((2*(j-i))-1))
      


增加一个判断,对于J 是奇数的时候 中间的两行 字符个数一样

cfnm123 发表于 2024-4-5 23:19

j = 10
for i in range(1, j + 1):
    # 计算上半部分和下半部分的字符数量
    upper_chars = (2 * i) - 1
    lower_chars = (2 * (j - i)) - 1
   
    # 打印上半部分的字符
    if i <= j // 2:
      # 打印空格
      print(" " * (j // 2 - i), end='')
      # 打印字符
      print(chr(64 + i) * upper_chars)
    # 打印下半部分的字符
    else:
      # 打印空格
      print(" " * (i - j // 2), end='')
      # 打印字符
      print(chr(64 + i) * lower_chars)
    # 添加换行符以开始新的一行
    print()   

夜雨微澜 发表于 2024-4-6 06:56

外层循环和内层不可以一个变量,否则会冲突造成异常。
内层循环的j和k不可以换成i,因为外层用了i了。

fxz5820 发表于 2024-4-6 10:47

我心飞翔1995 发表于 2024-4-5 18:27
所以,你的问题是什么?
不要丢一句求解答就让别人回复一堆,你要写出你的思考、你的尝试、你的疑问,如果 ...

好的,感谢指点{:1_893:}
页: [1] 2
查看完整版本: 请问问一个py的题目