Мой вывод на python выводится дважды, и пока я хочу, чтобы он выводился один раз

#python

#python

Вопрос:

Итак, у меня есть это:

 nums = []
N = 5
for n in range(N):
    numbers = int(input('Please enter an integer: '))
    nums.append(numbers)
avg = sum(nums)/5
print(f"The average is:", avg )

for v in nums:
    if v > avg:
        print("The numbers greater than the average are:n", (v))
 

Который выводит что-то вроде следующего:

Пожалуйста, введите целое число: 5

Пожалуйста, введите целое число: 4

Пожалуйста, введите целое число: 9

Пожалуйста, введите целое число: 7

Пожалуйста, введите целое число: 2

Среднее значение: 5.4

Числа, превышающие среднее значение: 9

Числа, превышающие среднее значение: 7


Однако мне было интересно, знает ли кто-нибудь, как сделать так, чтобы нижняя часть отображалась таким образом:

Числа, превышающие среднее значение,:

9 7

Комментарии:

1. Вам нужно накапливать результаты по мере их нахождения, а затем печатать только один раз, после цикла. Есть много примеров этого, доступных в режиме онлайн. Где ты застрял?

Ответ №1:

Вы можете просто использовать понимание списка следующим образом:

 ...
avg = sum(nums)/5

...

print("The numbers greater than the average are:n", *[i for i in nums if i > avg])
 

Ответ №2:

попробуйте это

 nums = []
N = 5
for n in range(N):
    numbers = int(input('Please enter an integer: '))
    nums.append(numbers)
avg = sum(nums)/5
print(f"The average is:", avg )

g =[]
for v in nums:
    if v > avg:
        g.append(v)
print("The numbers greater than the average are:n", *g)
 

Вывод

 Please enter an integer: 5
Please enter an integer: 4
Please enter an integer: 9
Please enter an integer: 7
Please enter an integer: 2
The average is: 5.4
The numbers greater than the average are:
 9 7
 

Ответ №3:

Вместо последней части вашего кода используйте:

 print("The numbers greater than the average are:")

for v in nums:
    if v > avg:
        print(v, end=" ")