[英]what are the errors in my def function code structure
該程序將為給定的整數之和編寫def函數。
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)
輸出:
Traceback (most recent call last): File "D:/edX-courses/Python/programs/def sum of numbers.py", line 14, in <module>
sample_list=range(1,n+1) TypeError: must be str, not int
實際上, input
函數返回的是字符串而不是整數,因此您需要先進行轉換
sample_list=range(1, int(n) + 1)
..
n=int(input("Please enter a number: "))
sample_list=range(1,n+1))
find_sum_numbers(sample_list)
如果您使用的是python2.7
則默認情況下會將所有輸入值視為string
數據類型。 因此,您需要顯式轉換string
-> int
使用輸入時,即使輸入了數字,它也會自動接受輸入作為字符串。 您應該做的是檢查輸入是否為有效數字,然后將其轉換為整數。
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.