Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
235 views
in Technique[技术] by (71.8m points)

My python output is printing out twice and while I want it to print out once

So, I have this:

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:
", (v))

Which outputs something like the following:

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

The numbers greater than the average are: 7


However I was wondering if someone knew how to make the bottom part show up like this instead:

The numbers greater than the average are:

9 7

question from:https://stackoverflow.com/questions/65906330/my-python-output-is-printing-out-twice-and-while-i-want-it-to-print-out-once

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can just use list comprehension as followings:

...
avg = sum(nums)/5

...

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...