Python Can';我不明白为什么程序不';不出声
我编写了一个程序,询问用户需要计算平均分数的分数。但我不明白为什么它不能给我一个输出。这是我的密码:Python Can';我不明白为什么程序不';不出声,python,python-3.x,Python,Python 3.x,我编写了一个程序,询问用户需要计算平均分数的分数。但我不明白为什么它不能给我一个输出。这是我的密码: def input_data(): number_of_smth = int(input()) return number_of_smth def answer_output(array, avg): print("The average of ", len(array), " grades is ", avg) print("High is: ", arra
def input_data():
number_of_smth = int(input())
return number_of_smth
def answer_output(array, avg):
print("The average of ", len(array), " grades is ", avg)
print("High is: ", array[0], "; Low is: ", len(array)-1)
def array_init(n):
array = []
for element in range(0, n):
array[element] = input_data()
return array
def sorting(array):
for j in range(len(array) - 1, 0, -1):
for i in range(j):
if array[i] > array[i + 1]:
temp = array[i]
array[i] = array[i + 1]
array[i + 1] = temp
return array
def average(array):
sum_of_array_elements = 0
for element in range(0, len(array), 1):
sum_of_array_elements += array[element]
return sum_of_array_elements / len(array)
def main():
print("Please type the number of grades")
grades_list = sorting(array_init(input_data()))
answer_output(grades_list, average(grades_list))
main()
数组_init
中有错误。行array[element]=input_data()
失败,出现索引器。这是因为数组为空。位置元素
处没有可分配的内容。您可以使用array.append(input_data())
在列表中创建所需的项。通过使用像这样的python内置函数,可以极大地提高可读性和可维护性
def answer_output(array, avg):
print("The average of ", len(array), " grades is ", avg)
print("High is: ", array[0], "; Low is: ", len(array)-1)
def main():
print("Please type the number of grades")
number_of_grades = int(input())
# use list comprehension to read in the numbers
grades_list = [int(input()) for i in range(number_of_grades)]
# sort the list
grades_list.sort()
# average is the sum over the count
average_grade = sum(grades_list) / len(grades_list)
# print out the results
answer_output(grades_list, average_grade)
array=[]
和array[element]=input\u data()
不是有效的approach@Bazingaa感谢您的帮助建议您首先正确缩进代码,没有人能帮您喜欢this@ShubhamJain编辑。包括输入、错误、实际输出和预期输出,以解释“未给出输出”。