Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使最小最大值工作?_Python_Max_Min - Fatal编程技术网

Python 如何使最小最大值工作?

Python 如何使最小最大值工作?,python,max,min,Python,Max,Min,这是我到目前为止得到的结果,但是无论用户输入什么,max返回为1,min返回为零。其他一切都能正常工作和计算。请帮忙,不知道还有什么好尝试的 num=input("How many numbers would you like to enter?") num_int=int(num) sum=0 count_even=0 count_odd=0 num_pos=0 num_neg=0 if num_int==0: print("You requested no numbers so t

这是我到目前为止得到的结果,但是无论用户输入什么,max返回为1,min返回为零。其他一切都能正常工作和计算。请帮忙,不知道还有什么好尝试的

num=input("How many numbers would you like to enter?")
num_int=int(num)
sum=0
count_even=0
count_odd=0
num_pos=0
num_neg=0
if num_int==0:
     print("You requested no numbers so there are no results reported")
elif num_int<0:
     print("You entered a negative number, so the program terminates")
else:
    for n in range(num_int):
        integer=input("Enter an integer number")
        integer_int=int(integer)
        sum+=integer_int
        avg=sum/num_int
        if integer_int%2==0:
            count_even=count_even+1
        else:
            count_odd=count_odd+1
        if integer_int>=0:
            num_pos=num_pos+1
        else:
            num_neg=num_neg+1
    for i in range(num_int):
        maximum=max(integer)
        minimum=min(integer)
print("Number of integers entered:",num_int)
print("Sum of those integers is:",sum)
print("Average of those integers is:",avg)
print("Number of evens is:",count_even)
print("Number of odds is:",count_odd)
print("Number of negatives is:",num_neg)
print("Number of positives is:",num_pos)
print("Maximum number is:",maximum)
print("Minimum number is:",minimum)
num=input(“您想输入多少个数字?”)
num_int=int(num)
总和=0
计数为偶数=0
计数奇数=0
num_pos=0
num_neg=0
如果num_int==0:
打印(“您没有要求编号,因此没有报告结果”)
elif num_int=0:
数量位置=数量位置+1
其他:
num_neg=num_neg+1
对于范围内的i(num_int):
最大值=最大值(整数)
最小值=最小值(整数)
打印(“输入的整数数:”,num_int)
print(“这些整数的和是:”,Sum)
打印(“这些整数的平均值为:”,平均值)
打印(“偶数为:”,计数为偶数)
打印(“赔率为:”,计数为奇数)
打印(“负片数为:”,负片数)
打印(“正片数为:”,num_pos)
打印(“最大数量为:”,最大)
打印(“最小值为:”,最小值)

您应该将输入添加到列表中,然后获取该列表的最大值和最小值

所以,它看起来像:

numbers = []

# parse num_int

for n in range(num_int):
    integer_int = # parse integer from input
    numbers.append(integer_int)
    # do your calculations for even, odd, pos, and neg

maximum = max(numbers)
minimum = min(numbers)

# print stuff

传递到
max
min
的参数应该是一个列表。

只需跟踪mn和mx变量的最高值和最低值。也不要将
sum
用作变量名:

num = input("How many numbers would you like to enter?")
num_int = int(num)
sm = 0 # don't use sum as a variable name 
count_even = 0
count_odd = 0
num_pos = 0
num_neg = 0
mn = None
mx = None
if num_int == 0:
    print("You requested no numbers so there are no results reported")
elif num_int < 0:
    print("You entered a negative number, so the program terminates")
else:
    for n in range(num_int):
        integer = input("Enter an integer number")
        integer_int = int(integer)
         # if it is the first number or this number is higher than the highest so far 
        if integer_int is None or integer_int> mx:
            mx = integer_int
         # if it is the first number or this number is lower than the lowest so far
        if mn is None or integer_int < mn:
            mn = integer_int
        sm += integer_int
        avg = sm / num_int
        if integer_int % 2 == 0:
            count_even += 1
        else:
            count_odd += 1
        if integer_int >= 0:
            num_pos += 1
        else:
            num_neg += 1

print("Number of integers entered:", num_int)
print("sum of those integers is:", sm)
print("Average of those integers is:", avg)
print("Number of evens is:", count_even)
print("Number of odds is:", count_odd)
print("Number of negatives is:", num_neg)
print("Number of positives is:", num_pos)
print("Maximum number is:",mx)
print("Minimum number is:",mn)
num=input(“您想输入多少个数字?”)
num_int=int(num)
sm=0#不要将sum用作变量名
计数为偶数=0
计数奇数=0
num_pos=0
num_neg=0
mn=无
mx=无
如果num_int==0:
打印(“您没有要求编号,因此没有报告结果”)
elif num_int<0:
打印(“您输入了负数,因此程序终止”)
其他:
对于范围内的n(num_int):
整数=输入(“输入整数”)
整数_int=int(整数)
#如果是第一个数字,或者这个数字高于目前为止的最高数字
如果integer_int为None或integer_int>mx:
mx=整数
#如果是第一个数字,或者这个数字低于迄今为止的最低数字
如果mn为None或integer_int=0:
num_pos+=1
其他:
num_neg+=1
打印(“输入的整数数:”,num_int)
print(“这些整数的总和为:”,sm)
打印(“这些整数的平均值为:”,平均值)
打印(“偶数为:”,计数为偶数)
打印(“赔率为:”,计数为奇数)
打印(“负片数为:”,负片数)
打印(“正片数为:”,num_pos)
打印(“最大数量为:”,mx)
打印(“最小数量为:”,mn)
以正确的方式使用列表和总和可以大大缩短代码:

num = input("How many numbers would you like to enter?")
num_int = int(num)
if num_int == 0:
    print("You requested no numbers so there are no results reported")
elif num_int < 0:
    print("You entered a negative number, so the program terminates")
else:
    ints = [int(input("Enter an integer number")) for _ in range(num_int)]
    sm = sum(ints)
    ln = len(ints)
    print("Number of integers entered:", ln)
    print("sum of those integers is:", sm)
    print("Average of those integers is:", sm / ln)
    print("Number of evens is:", sum(1 for x in ints if not x % 2))
    print("Number of odds is:", sum(1 for x in ints if x % 2))
    print("Number of negatives is:", sum(x < 0 for x in ints))
    print("Number of positives is:", sum(x >=0  for x in ints))
    print("Maximum number is:",max(ints))
    print("Minimum number is:",min(ints))
num=input(“您想输入多少个数字?”)
num_int=int(num)
如果num_int==0:
打印(“您没有要求编号,因此没有报告结果”)
elif num_int<0:
打印(“您输入了负数,因此程序终止”)
其他:
ints=[int(输入(“输入整数”))表示uu在范围内(num_uint)]
sm=总和(整数)
ln=len(整数)
打印(“输入的整数数:”,ln)
print(“这些整数的总和为:”,sm)
打印(“这些整数的平均值为:”,sm/ln)
打印(“偶数为:”,总和(1表示整数中的x,如果不是x%2))
打印(“赔率为:”,总和(如果x%2,整数中的x为1))
打印(“负片数为:”,总和(整数x小于0)
打印(“正片数为:”,总和(x>=0表示整数中的x))
打印(“最大数量为:”,最大(整数))
打印(“最小数字为:,最小(整数))

它不起作用的原因是您没有存储输入的任何整数。每次用户输入新的整数时,您的代码都会忘记最后输入的整数,并使用输入的新数字

sum+=iteger_int

只是将值相加,而不是将其存储为单个值。如上所述,使用列表可能是存储用户输入的所有值的最佳方式。

如何从单个int
max=max(integer)
中获取最大值?特别是考虑到
integer
似乎是一个字符串。。。