方法一:
因为无法确定输入个数,首先确定输入个数,输入个数为几,后面就会循环几次,如果只有一个数,则最大值和最小值相等,不止一个数时,将它们与最大值和最小值比较,如果有大于最大值则赋给最大值,如果有小于最小值,则将它赋给最小值。
1 count = int(input('输入数据个数: ')) 2 a = 1 3 while a <= count: 4 m = int(input('请输入第{}个数:'.format(a))) #字符串中的方法 5 if a == 1: #这句一定会执行,而且只执行一次,目的就是让你输入的第一个数作为根据与之后的数比较 6 max = min = num #第二个及以后的数都会走else, 7 else: #第一次走else时,比较中的min和max都是你第一次输入的数,以后走else就不一定了 8 if num < min: 9 min = num 10 elif num > max: 11 max = num 12 a += 1 13 print('最大数据是:', max) 14 print('最小数据是:', min)
方法二:
1 #思路:将用户输入的每个数据存入一个列表,然后调用min与max函数且以列表为参就可以了 2 count = int(input('请输入数据个数: ')) 3 list = [] 4 for i in range(1, count+1): #注意range取值范围 5 list.append(int(input('请输入第{}个值:'.format(i)))) 6 7 print(min(list)) 8 print(max(list))
第二种:知道已知的数组求最大值和最小值
1 def max(*a):#定义函数,max是函数名,括号内部为函数的参数 2 m = a[0] 3 for x in a: 4 if x>m: 5 m = x #m为最大值 6 return m 7 def min(*a): #定义函数,min是函数名,括号内部为函数的参数 8 m = a[0] 9 for x in a: 10 if x<m: 11 m = x #m为最小值 12 return m 13 def num(*a): #定义函数,num是函数名,括号内部为函数的参数 14 m = len(a) #m是参数个数,Python len() 方法返回对象(字符、列表、元组等)长度或项目个数. 15 return m 16 17 if __name__ == '__main__': 18 x,y,z = 1,10,20 19 print("max:",max(x,y,z)) 20 print("min:",min(x,y,z)) 21 print("num:",num(x,y,z))