我希望输出如下:
我希望我的结果是:
Enter a number : n
List from zero to your number is : [0,1,2,3, ... , n]
0 + 1 + 2 + 3 + 4 + 5 ... + n = sum(list)
但是我的实际输出是:
Enter a number : 5
List from zero to your number is : [0, 1, 2, 3, 4, 5]
[+0+,+ +1+,+ +2+,+ +3+,+ +4+,+ +5+] = 15
我正在使用join
方法,因为这是我唯一熟悉的方法。
为什么加号会打印在每个项目周围?为什么包括空格?
如何将list
的值打印成一个用户可读的字符串?
谢谢。这是我的代码:
##Begin n_nx1 application
n_put = int(input("Choose a number : "))
n_nx1lst = list()
def n_nx1fct():
for i in range(0,n_put+1):
n_nx1lst.append(i)
return n_nx1lst
print ("List is : ", n_nx1fct())
print ('+'.join(str(n_nx1lst)) + " = ", sum(n_nx1lst))
str(n_nx1lst)
时,你得到的是列表的字符串表示形式,因此列表[1, 2, 3, 4]
实际上变成了字符串"[1, 2, 3, 4]"
。 - Greg"[1, 2, 3, 4]"
,然后 join 函数会将字符串作为字符列表处理,在每个字符之间插入一个+
。因此结果为[+1+ +,+ +2+,+ +3+,+ +4+]
。 - spectrasn_nx1lst = list(range(n_put+1))
即可。但是如果你_真的_想用一个函数来完成这个任务,它应该以数字作为参数,并在函数内部构造一个新的列表并返回它。 - PM 2Ring