python用户输入一个整数N,计算并输出1到N相加的和,请问这个程序错在哪里了?

n=input("请输入整数N:")sum=0foriinstr(n):sum+=i+1print('1到N求和结果:'.format(sum))... n = input("请输入整数N:")
sum = 0
for i in str(n):
sum += i + 1
print('1到N求和结果:'.format(sum))
展开
 我来答
帐号已注销
2019-07-14 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:6082
展开全部

第一个错误的地方是for i in str(n),input()输入的是整型,循环增加应该用for in range(n),str(n)并不能起到顺序增加的作用。

第二个错误的地方是print('1到N求和结果:'.format(sum)),适用format输出时需要在输出的位置用大括号{}占据空位。

python用户输入一个整数N,计算并输出1到N相加的和正确的程序示例是:


扩展资料

Python 内置函数range() 用法介绍:

python range() 函数可创建一个整数列表,一般用在 for 循环中。

1、函数语法:range(start, stop[, step])

2、参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。

3、实例:

range(10)       

代表从 0 开始到 10[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

听雨婷2Y
2018-09-05 · TA获得超过360个赞
知道小有建树答主
回答量:227
采纳率:100%
帮助的人:143万
展开全部
看来你用的是python3,python3的input函数是返回字符串的。
所以你的n是字符串,循环有问题。
如果想要正确就int处理
n = int(input("请输入整数N:"))
更多追问追答
追问

可这是什么原因呢?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式