【问题标题】:Unable to get wanted output using for and range functions无法使用 for 和 range 函数获得想要的输出
【发布时间】:2019-05-31 06:23:43
【问题描述】:

对于我的家庭作业,我使用了 for 循环和 range 函数。我必须创建一个打印循环

Hello 0
Hello 1
Hello 3
Hello 6
Hello 10

问题是这个数字对应于连续索引的累积总和,但我不确定如何在我的代码中实现它。我在想它正在设置从 0 到 10 的范围并试图制定一个公式,但还没有任何结果。任何帮助,将不胜感激。它必须在 for i in range 函数和循环中进行此分配。

for i in range(0,10,2):
    print("Hello",i)

【问题讨论】:

  • 到目前为止你累了什么?
  • 请至少写下(添加到问题中)您的代码
  • 我尝试将它们用于范围,我的函数从 0 到 10 并尝试创建一个公式来计算总和的数量,但到目前为止还没有任何效果。
  • 发布了我正在使用的代码,但这会打印其他内容并且没有考虑总和,我不知道为什么帖子会这样做,但结果应该打印在不同的行上不一样
  • 也许这会帮助你思考0+1=11+2=33+3=6...

标签: python python-3.x


【解决方案1】:

也许这会合适:

i=0
step=1
while i<=10:
    print("Hello", i)
    i=i+step
    step=step+1

【讨论】:

  • 感谢您的回复,但它必须使用 for 循环和函数范围。我发现必须有两个变量,一个跟踪索引的数量,另一个打印它,它等于跟踪的函数加一。我只是无法创建保留索引的变量
  • 想想如何将while循环变成for循环!
【解决方案2】:

整数可以通过从 0 到 5 的累加来形成,如下所示:

x = 0
for n in range(1,6):
    print(x)
    x += n

输出:

0
1
3
6
10

如果你必须添加一个字符串Hello,取决于你的学习程度,有3种方法可以解决这个问题。要么:

  1. text = 'Hello %s' % x - 超级旧的 Python 字符串格式。
  2. text = 'Hello {}'.format(x) - 称为 %-formatting。
  3. text = f'Hello {x}' - 称为 F 弦 建议

所以完成代码:

x = 0
for n in range(1,6):
    print(f'Hello {x}')
    x += n

输出:

Hello 0
Hello 1
Hello 3
Hello 6
Hello 10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多