我想使用python删除数字之间的加法符号,请找到下面我的代码

evrscar2  于 2022-11-26  发布在  Python
关注(0)|答案(6)|浏览(155)
limit = int(input("Limit: "))
allvalue = ""
count = 0
number = 0

while count < limit:
    number += 1
    count += number 
    allvalue += str(number) + " + "

print(allvalue)

这是我的输出1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +
我只想在数字之间加上+号。不要在最后一个或第一个。

lyr7nygr

lyr7nygr1#

一种可能的解决方案是使用" + ".join(),它使用" + "上的字符串方法将值收集在一起

>>> values = "1 2 3 4 5".split()
>>> " + ".join(values)
'1 + 2 + 3 + 4 + 5'
lskq00tm

lskq00tm2#

limit = int(input("Limit: "))
allvalue = ""
count = 0
number = 0
while count < limit:
    number += 1
    count += number
    if count != limit:
        allvalue += str(number) + " + "  
    else:
        allvalue += str(number)

print(allvalue)

希望这能有所帮助。

56lgkhnf

56lgkhnf3#

我想和大家分享一个解决这个问题的可靠的数学方法。
这个问题是Sum of n numbers问题的典型变体,其中描述limitsum已经作为输入给出,而不是n

import math

limit = int(input("Limit: "))                          # n * (n + 1) / 2 >= limit
n = math.ceil( ((1 + 4*2*limit)**0.5 - 1) / 2 )        # ((b^2 - 4ac)^(1/2) - b) / 2a where a = b = 1, c = 2*limit

allValue = " + ".join([str(i) for i in range(1, n+1)])
print(allValue)
8yparm6h

8yparm6h4#

您不需要同时使用numbercount变量,并且通过从初始值开始,您可以在数字之前添加+

limit = int(input("Limit: "))
count = 1
allvalue = str(count)
while count < limit:
    count += 1
    allvalue +=  " + " + str(count)
    
print(allvalue)
kcrjzv8t

kcrjzv8t5#

您也可以尝试使用for循环。

limit = int(input("Limit: "))
allvalue = ""

for i in range(0, limit):
   if i+1 == limit:
       allvalue += str(i+1)
   else:
       allvalue += str(i+1) + "+"

print(allvalue)
lnxxn5zx

lnxxn5zx6#

下面是简单易行的方法,你可以在结果字符串中尝试slice

print(allvalue[:-2])

密码:

limit = int(input("Limit: "))
allvalue = ""
count = 0
number = 0

while count < limit:
    number += 1
    count += number 
    allvalue += str(number) + " + "

print(allvalue)
print(allvalue[:-2])

输出:共享结果:https://onlinegdb.com/HFC2Hv4wq

Limit: 9
1 + 2 + 3 + 4 + 
1 + 2 + 3 + 4

相关问题