加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python函数用于求整数之和

发布时间:2020-12-20 11:49:38 所属栏目:Python 来源:网络整理
导读:写了一个 python程序,使用高斯方程将数字从1加到给定数字.它适用于100和10但是当我做3时它表示总和是4而不是6.这个等式在我的头脑中解决了,我是否弄乱了代码? def numberSum(num): nim = int(num) num = (nim/2)*(nim+1) return num print numberSum(raw_in
写了一个 python程序,使用高斯方程将数字从1加到给定数字.它适用于100和10但是当我做3时它表示总和是4而不是6.这个等式在我的头脑中解决了,我是否弄乱了代码?

def numberSum(num): 

    nim = int(num)
    num = (nim/2)*(nim+1)
    return num    

print numberSum(raw_input())

解决方法

from __future__ import division

def number_sum(num):
    """
    Return sum of 1 .. num
    """
    return num * (num + 1) // 2

num = int(raw_input(": "))
print(number_sum(num))

我改变的事情:

> number_sum不应该负责输入类型;如果它需要一个数字,你应该给它一些数字,而不是一个字符串.>如果num是int,则num或num 1是偶数,即将num *(num 1)除以2将导致int.这不一定适用于num;因此,如果需要整数结果,则应将乘积除以2而不是num.>在Python 2.6中,来自__future__ import division使/始终返回一个float结果并且//总是返回一个int结果,与Python 3.x一致

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读