首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中打印数字-5到0的和。

在python中打印数字-5到0的和。
EN

Stack Overflow用户
提问于 2022-11-30 13:23:40
回答 2查看 70关注 0票数 -5

好的,我对python非常陌生,我应该编写一个代码,给我提供这个输出。

input= -5 output = (-5)+(-4)+(-3)+(-2)+(-1)=-15但我就是不能把我的头绕过去

我想我可以随便翻一下这个

代码语言:javascript
复制
while True:
    output = ""
    num = int(input("enter a integer: "))
    if num == 0:
        exit()
    for i in range(1, num + 1):
        output += "{}".format(i)
        if i != num:
            output += "+"
    output += " = {}".format(sum(range(num + 1)))
    print(output)

但我想不出来。请帮帮忙。如果有人能告诉我如何在一段代码中实现这两种方法,那将是有帮助的。

EN

回答 2

Stack Overflow用户

发布于 2022-11-30 13:41:55

代码语言:javascript
复制
n = int(input("Enter a integer: "))
res = ""
s = 0
x,y = [n,0] if n < 0 else [1, n+1]
for i in range(x, y, 1):
    res += f"({i}) +"
    s += i
res = res[:-2] + "=" + str(s)
print()
print(res)
票数 1
EN

Stack Overflow用户

发布于 2022-11-30 13:58:01

这段代码将同时处理正负num

代码语言:javascript
复制
while True:
    num = int(input("enter an integer: "))
    if num == 0:
        break
    # Create the correct range based on num being positive or negative
    nums = range(num, 0) if num < 0 else range(1, num+1)
    # Create the string "a + b + c..." or "(-a) + (-b) + (-c)..."
    eq = ' + '.join(f"({n})" if n < 0 else str(n) for n in nums)
    # Print results
    print(f"{eq} = {sum(nums)}")

示例运行:

代码语言:javascript
复制
enter an integer: 5
1 + 2 + 3 + 4 + 5 = 15
enter an integer: -5
(-5) + (-4) + (-3) + (-2) + (-1) = -15
enter an integer: 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74628524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档