我的代码的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()
答案 0 :(得分:1)
在定义函数show_list(multiples)
show_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_list(multiples)
,请将其移至定义show_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()
答案 1 :(得分:0)
mutliples
未在全局范围内定义,仅在show_multiples()的范围内
您可能想要做的是在全球范围内,更改
show_multiples(input1, input2, input3)
到
multiples = show_multiples(input1, input2, input3)