如何用Python实现Floyd三角形?现有代码输出不符合预期
修复Floyd三角的代码问题
你的代码存在两个核心问题,导致输出不符合预期:
1. 内层循环计数器更新错误
内层循环里j = j + i的写法完全错误,这会让j每次直接跳到远超i的数值,导致每一行只会打印1个数字。正确的逻辑是让j每次自增1,也就是j = j + 1或者j += 1,这样才能循环i次,打印出对应行数的数字数量。
2. 数字之间缺少分隔空格
原代码中print(number, end = '')没有给数字之间留空格,会导致数字连在一起,不符合预期的排版格式。需要改成print(number, end=' '),让每个数字后面跟两个空格,匹配预期的输出样式。
修复后的完整代码
rows = int(input("Please Enter the total Number of Rows : ")) number = 1 print("Floyd's Triangle") i = 1 while(i <= rows): j = 1 while(j <= i): print(number, end=' ') number = number + 1 j = j + 1 # 修正为自增1 i = i + 1 print()
验证输出
运行修复后的代码,输入10时会得到与你预期完全一致的输出:
Please Enter the total Number of Rows : 10 Floyd's Triangle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
内容的提问来源于stack exchange,提问作者Pratik kumar
相关产品推荐
相关产品推荐

