我的def函数代码结构中有什么错误

时间:2017-09-13 05:28:09

标签: python function sum

这个程序是为给定的整数之和写def函数。

<select class="form-control pickupaddress ng-pristine ng-valid ng-touched m-r-sm m-t-n-xs" ng-model="item.pickup_address" tabindex="0" aria-invalid="false" ng-options="add._id as add.nick_name for add in addPerFood[item.food._id] | unique:'nick_name'" ng-change="dropDownSelect(item.pickup_address,allCarts,item,$index)">

主程序:

def find_sum_numbers(sample_list):
    sum_numbers=0
    for x in sample_list:
        sum_numbers=sum_numbers+x
    #return sum_numbers
    print("The sum of the numbers is: ", sum_numbers)

输出:

n=input("Please enter a number: ")
sample_list=range(1,n+1))
find_sum_numbers(sample_list)

3 个答案:

答案 0 :(得分:0)

实际上,input函数返回一个字符串而不是整数,所以你需要在

之前转换它。
sample_list=range(1, int(n) + 1)

答案 1 :(得分:0)

...

n=int(input("Please enter a number: "))
sample_list=range(1,n+1))
find_sum_numbers(sample_list)

如果您使用python2.7,则默认情况下将所有输入值视为string数据类型。因此,您需要明确转换string - &gt; int

答案 2 :(得分:0)

使用输入时,即使输入了数字,它也会自动接受输入为字符串。你应该做的是检查输入是否是有效数字,然后将其转换为整数。

n=input("Please enter a number: ")
if n.isdigit():
    sample_list=range(1,int(n)+1)
else:
    print("You must enter a number")
find_sum_numbers(sample_list)