我目前正在为一门课程做作业,我必须接受用户的数字列表,然后选择该列表,找到组合的数字总和(那里没有问题),最后找到该列表中每个值的平方。我在开发被称为“ squareEach”的函数时遇到了麻烦。我尝试了一些想法,但是在调用函数或错误时,最终在我的打印行中打印了“ none ”。我觉得我可能会遗漏某些东西,如果有人能为我指出正确的方向,以开发如何对输入列表中的每个值求平方的函数,我将不胜感激!
如果我需要进一步解决我的问题,我会这样做。下面是代码示例以及我想在何处放置代码。这是我的第一篇文章,如果布局有点草率,对不起。
#function "squareEach" here
def sumList(nums):
total=0
for n in nums:
total=total+n
return total
def main():
print("This program finds the sum of a list of numbers and finds the")
print("square of each number in the list.\n")
nums=map(int,input("Enter the numbers separated by a space: ").split())
print("The sum is", sumList(nums))
#Line that prints what the squares are for each value e.g("The squares
for each value are... ")
main()
答案 0 :(得分:1)
问题是您使用<map>
对象类型。 nums
变量是对象类型class <map>
。不幸的是,在第一个函数for
中,对象/类的内容将在其使用中更改。然后,用户必须将新数字重新输入到nums
变量中。即使不使用math
模块,用于计算平方根的函数也很简单,即:
n**(1/2.0)
def squareEach(numbers):
result = {}
for n in numbers:
result[n] = n ** (1 / 2.0)
return result
# result is dictionary data type, but you can change the function, if you need another data type as the result
def sumList(numbers):
total = 0
for n in numbers:
total += n
return total
nums = list(map(int, input("Enter the numbers separated by space: ").split()))
# nums variable is the <list> type variable with a <int> entries
print("The sum is", sumList(nums))
print("The suqare for each is", squareEach(nums))