python - 循环返回整数之和

标签 python python-2.7 while-loop

<分区>

我被困在一个问题上,我必须返回用户输入的数字(含)的 10 个种子内的所有数字的总和。例如,如果数字是 1,它将是 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45。到目前为止我有:

def temp(n1):

    seed = n1
    counter = 0 
    while counter < 9:
         n1 += 1
         counter+= 1
return n1

如能解释我的代码为何无法运行并帮助修复我的代码,我将不胜感激。

最佳答案

@Majora320 的回答是正确的,并解释了为什么您的代码不起作用。但是一个更简洁的解决方案是

def temp(n):
   seed = 10
   return ((seed * (seed-1))/2) + (n-1)

print temp(1)
print temp(10)
print temp(11)
print temp(12)

操作

45
54
55
56

基本上,它需要数学方程 seed*(seed-1)/2 来添加从 1 开始的连续数字。但是由于您的基数不能大于 1,所以我添加了 (n-1) 来调整该偏移量。

关于python - 循环返回整数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40581967/

相关文章:

python - 如何在棉花糖(+ sqlalchemy)中将嵌套对象与父对象合并?

python - 当一个模块被导入两次时会发生什么?

python - 如何将元组转换为 python 中的多嵌套字典?

Python While 循环突破问题

java - 在 Java 中输入无效后重新提示用户

python - 具有固定参数的曲线拟合分段函数

python - 将数据帧转换为 numpy 矩阵,其中索引存储在数据帧中

python-2.7 - GAE ndb 设计、性能和重复属性的使用

python-2.7 - 如何从 google.cloud 导入模块以用于 AWS Lambda?

javascript - 尝试运行 while 循环指定的时间...不退出