Whalefall126 发表于 2023-8-7 01:19:46

while循环图形问题1

   啊,我真的不会呀,怎么办呀?
我真的不适合学计算机吗?我哭了,求大神指导

学习编程中的Ben 发表于 2023-8-7 01:20:12

问题描述:
用户遇到了在 Python 中使用 while 循环绘制图形的问题,并感到困惑和沮丧。

解决方案:
学习编程是一个挑战,大家都会遇到困难和沮丧的时候。不要灰心,下面是一些指导和建议来帮助你克服这个问题:

1. 确定问题:首先,请明确你在使用 while 循环绘制图形时遇到的具体问题。是无法理解循环的控制条件?还是无法正确地处理绘制图形的步骤?明确问题有助于我们更好地帮助你。

2. 学习基本概念:确保你已经理解了 while 循环的基本概念和语法。如果你还不太了解,可以参考 Python 的教程或学习资源来学习有关 while 循环的知识。

3. 使用伪代码:在开始编写代码之前,你可以尝试使用伪代码(类似于自然语言的描述)来描述你的算法思路。这将有助于你更好地理解解决问题的步骤和逻辑。

4. 编写代码:根据你的算法思路,开始编写代码。以下是一个示例代码,展示了如何使用 while 循环绘制一个简单的图形,你可以根据需要进行修改:

# 绘制一个倒三角形

rows = 5# 行数

i = rows
while i >= 0:
    j = 0
    while j < rows - i:
      print(" ", end="")
      j += 1

    k = 0
    while k < 2 * i - 1:
      print("*", end="")
      k += 1

    print()
    i -= 1


在这个示例中,我们使用了两个嵌套的 while 循环来控制行和列的输出。注意缩进和循环变量的更新。

5. 调试和测试:运行你的代码,并进行调试和测试。如果结果不符合预期,你可以使用打印语句来跟踪代码的执行流程,以便找到问题所在。

6. 持续学习和练习:编程需要不断的学习和练习,掌握基本的概念和技巧需要时间和实践。尝试解决更多的问题,并参与编程练习来提高你的能力。

记住,学习计算机编程是一个过程,并且每个人都会遇到困难。坚持下去,相信自己,你一定能够克服困难并取得进步!

如果回答对你有帮助,请给我一个最佳答案!{:10_254:}{:10_254:}{:10_254:}

Mike_python小 发表于 2023-8-7 01:20:17

问题描述:
用户在使用 Python 编程时遇到了不懂的问题,感到困惑和沮丧,不确定是否适合学习计算机编程,并请求指导和鼓励。

解决方案:
学习计算机编程是一个具有挑战性但也非常有趣和有益的过程。在遇到困难时,以下建议可以帮助你继续前进:

1. 保持积极心态:计算机编程可能会有陡峭的学习曲线,但这并不意味着你不适合学习。每个人都会遇到困难和挫折,关键是保持积极的心态,相信自己能够克服困难。

2. 寻找资源和学习支持:在学习编程过程中,寻找高质量的学习资源和教程非常重要。通过在线课程、教科书、编程论坛等途径,找到对你有帮助的资源。此外,如果有机会,加入编程社群或找到编程伙伴,与他们交流和互助。

3. 刻意练习和实践:编程是一门实践性很强的技能,通过多写代码、完成练习和项目,你将更加熟悉和理解编程的概念和技术。坚持练习并逐渐挑战更复杂的问题,你会发现自己的进步。

4. 寻求帮助:如果你遇到特定的问题或困惑,不要害怕寻求帮助。可以在编程论坛上提问,参加课程的讨论区,或寻求导师和教师的指导。还有很多社区和资源都乐于帮助初学者解决问题。

5. 学习从错误中汲取经验:当你遇到错误时,不要气馁或泄气。实际上,错误是学习的机会。仔细阅读错误信息,尝试理解问题出在哪里,并找到解决问题的方法。通过不断纠正错误,你将提升自己的编程能力。

6. 耐心和持久:学习编程需要耐心和持久的努力。不要期望一蹴而就,而是逐步积累知识和技能。保持学习的动力,相信自己的潜力,持续学习和实践。

最重要的是,不要放弃!每个人都可能在学习编程的道路上遇到困难,但只要坚持不懈,你一定能够掌握编程技能并享受其中的乐趣和成就感。加油!

如果回答对你有帮助,请给我一个最佳答案!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

isdkz 发表于 2023-8-7 08:00:42

这个代码的问题在于,当row大于5时,你的星号数量计算方式是10-row ,这会导致星号的数量在row增加时减少,而不是保持不变。这就是为什么你只能得到半个菱形。

如果你想要输出一个完整的菱形,你需要在row大于5时,使星号的数量先减少然后再增加。你可以通过使用abs函数来实现这个效果。这是修改后的代码:


row = 1
column = 0
output18 = ''
while column < 10:
    if row <= 5:
      output18 += ' '*(5-row) + '*'*(2*row-1)
      output18 += '\n'
      row += 1
    if row > 5:
      output18 += ' '*(row-5) + '*'*(2*(10-row)-1)
      output18 += '\n'
      row += 1
    if row == 10:
      break
print(output18)



这个代码将会输出一个完整的菱形。
页: [1]
查看完整版本: while循环图形问题1