计算用户输入的数字的出现次数

时间:2016-05-05 18:26:33

标签: python input count

我需要计算用户输入的输入中最小数字的出现次数。这是我到目前为止,它显示最大和最小数字,但我不知道如何使用ELIF计算出现次数,例如最小的数字出现'x'次' 只是Python的初学者,请帮忙

max = 0
min = 0
count_l = 0 
count_s = 0

while True:
    inp = raw_input ("Enter a number\n: ")
    if inp == '0': break
    try:
        num = float (inp)
    except:
        print 'Please enter a valid number'
        continue
    if min == 0 or num < min:
        min = num

    if max == 0 or num > max:
        max = num

def result (max, min):
    print ('Largest Number Entered\n:') , max
    print ('Smallest Number Entered\n:'), min
    print ('Occurence of largest number is: '), count_l
    print ('Occurence of smallest number is: '), count_s

result (max, min)

2 个答案:

答案 0 :(得分:1)

好吧,你动态地改变最小的数字。这意味着每次更改数字时都应重置计数。最大数量也是如此。

实施例

[1,21]

此外,将来不要使用名为&#34; max&#34;或者&#34; min&#34;因为这些是python内置函数。

答案 1 :(得分:0)

只需使用一些方便的数据结构,例如defaultdictCounter(与float相比,Decimal可能是一种更好的数据类型,可用作字典键):

from decimal import Decimal
from collections import defaultdict

d = defaultdict(Decimal)

while True:
    inp = raw_input ("Enter a number\n: ")
    if inp == '0': break
    try:
        num = Decimal(inp)
    except:
        print 'Please enter a valid number'
        continue
    d(num) += 1

items = sorted(d.items())

min_val, min_occurrences = items[0] 
max_val, max_occurrences = items[-1]