Python 功能不起作用的协助
我的代码的Python 功能不起作用的协助,python,list,function,sum,return,Python,List,Function,Sum,Return,我的代码的show_list功能不起作用。我收到一条消息说,'multiples'没有定义,但我无法确定问题所在。有人能帮我回顾一下我做错了什么并提出建议吗 def main(): input1 = int(input("enter the low integer: ")) input2 = int(input("enter the high integer: ")) input3 = int(input("enter the integer for the multip
show_list
功能不起作用。我收到一条消息说,'multiples'
没有定义,但我无法确定问题所在。有人能帮我回顾一下我做错了什么并提出建议吗
def main():
input1 = int(input("enter the low integer: "))
input2 = int(input("enter the high integer: "))
input3 = int(input("enter the integer for the multiples: "))
show_multiples(input1, input2, input3)
print ("List was created")
def show_multiples(input1, input2, input3):
num_range = range(input2, input1, -1)
multiples = []
for num in num_range:
if num % input3 == 0:
multiples.append(num)
return multiples
show_list(multiples)
def show_list(multiples):
elem = len(multiples)
average = sum(multiples) / elem
num_range = range(input2, input1, -1)
print ("the list has", elem, "elements.")
for num in num_range:
if num % input3 == 0:
print (num, end=" ")
print ("Average of multiples is ", average)
main()
在定义函数之前,调用show\u list(倍数)
将main函数放在代码末尾,并调用main()来运行它:
def main():
input1 = int(input("enter the low integer: "))
input2 = int(input("enter the high integer: "))
input3 = int(input("enter the integer for the multiples: "))
show_multiples(input1, input2, input3)
print ("List was created")
main()
要仅调用show\u list(倍数)
请将其移动到定义show\u list
的位置下方
不过,您会遇到更多问题:
def show_list(multiples):
elem = len(multiples)
average = elem / sum(multiples)
print ("the list has", elem, "elements.")
# num_range not defined only exists in show_multiples and input3 is also not accessable
for num in num_range:
if num % input3 == 0:
multiples.append(num)
print (num)
不完全确定你想要什么,但我想这会让你更接近:
input1 = int(input("enter the low integer: "))
input2 = int(input("enter the high integer: "))
input3 = int(input("enter the integer for the multiples: "))
num_range = range(input2, input1, -1)
def show_multiples():
multiples = []
for num in num_range:
if num % input3 == 0:
multiples.append(num)
return multiples
def show_list():
multiples = show_multiples()
elem = len(multiples)
average = elem / sum(multiples)
print ("the list has", elem, "elements.")
for num in num_range:
if num % input3 == 0:
multiples.append(num)
print (num)
show_list()
mutliples
未在全局范围内定义,仅在show_multiples()的范围内定义
你可能想做的是在全球范围内,改变
show_multiples(input1, input2, input3)
到
谢谢你的反馈
multiples = show_multiples(input1, input2, input3)