0

ユーザーが入力した数値の平均を見つけようとしています。ループは、ユーザーが -9999 (センチネル値) を入力するまで繰り返されることになっています。私はPythonが初めてで、少しのガイダンスを使用できますありがとう。

import random

numbers = [int(input("Please, enter number {}(-9999 to end")

if input("-9999"):

# will display prompt like "Please, enter number 1:"
print ("numbers entered:", numbers) # this will print the entered number

positives = [num for num in numbers if num > 0]
negatives = [num for num in numbers if num < 0]

# loop ends here

print ("Average negative number is :", sum(negatives)*1.0/len(negatives))
print ("Average positive number is :", sum(positives)*1.0/len(positives))
print ("Average of all numbers is:",sum(numbers)/len(numbers))
4

3 に答える 3

0
ns = list(iter(lambda:int(input("Enter Number:")),-9999))

それを行うためのクールな方法です

最初の引数に関数を使用する場合、iter は 2 番目の引数として待機するセンティナル値を取ることができます

あなたの正と負の余談として....ゼロを無視するようです(これは意図的なものかもしれません)...

于 2013-11-26T00:07:09.060 に答える