编写一个不带参数的ReadListIntegers函数,它允许您读取键盘上输入的正整数或零整数。当您输入负数时,条目停止。该函数返回输入的整数列表。
编写主程序,该程序允许您调用该函数,然后显示使用打印函数获得的列表。
提供带有两个可选参数bmin和bmax的ReadListReelsBorders函数,它允许您读取键盘上输入的实数。当用户输入的值超出区间[ bmin ; 最大] 。默认情况下,min 和 max 的值分别设置为 0 和 100。该函数应该返回一个列表。
定义一个MMSList函数,它将一个列表作为参数,并返回列表的最小值、最大值和总和。
您的函数必须使用while或for循环,并且不得使用Python 中预定义的max、min和sum 函数。
通过使用ReadListReelsTerms在键盘和MMSList上输入实数列表以获取输入值的最小值、最大值和总和来完成您的主程序 。显示在控制台获得的3个值。
def ReadListIntegers():
nums = []
while True:
a = int(input('请输入一个正整数:'))
if a < 0:
print('您输入了非正整数')
break
else:
nums.append(a)
return nums
def ReadListReelsBorders(bmin=0, bmax=100):
nums = []
while True:
a = float(input('请输入一个实数:'))
if a < bmin or a >= bmax:
print('您输入了不在有效区间的数')
break
else:
nums.append(a)
return nums
def MMSList(numList: list):
min = float('inf') #默认正无穷
max = float('-inf') #默认负无穷
sum = 0
for i in numList:
if i > max:
max = i
if i < min:
min = i
sum += i
return min, max, sum
def ReadListReelsTerms(min, max):
return ReadListReelsBorders(min, max)
if __name__ == '__main__':
nums = ReadListIntegers()
print(nums)
nums2 = ReadListReelsBorders(-100, 100)
print(nums2)
min, max, sum = MMSList(ReadListReelsTerms(-100, 100))
print("最小值:%f 最大值:%f和:%f" % (min, max, sum))
def ReadListIntegers():
x = []
while True:
n = int(input(">>>"))
if n < 0:break
x.append(n)
return x
def ReadListReelsBorders(bmin=0, bmax=100):
x = []
while True:
n = float(input(">>>"))
if bmax >= n >= bmin:
x.append(n)
else:
return x
def MMSList(l):
if l == [] :
return None * 3
s,mi,ma = [l[0]] * 3
for i in l[1:]:
s += i
if i < mi:mi = i
if i > ma:ma = i
return mi, ma, s
def ReadListReelsTerms():
x = []
while True:
n = float(input(">>>"))
if n >= 0:
x.append(n)
else:
return x
if __name__ == "__main__":
l1 = ReadListIntegers()
print(l1)
l2 = ReadListReelsTerms()
mii,maa,ss = MMSList(l2)
print(f"sum:{ss},min:{mii},max:{maa}")
编写三个函数,如下,如有帮助,请采纳~
对于 imput 的数字,一定要用 try except来保障,不然会出现 输入 abc 字符出错的情况
def ReadListIntegers():
res = [] # 定义输出的列表
value = input("请输入数值:")
try:
while int(value) >= 0:
res.append(int(value))
value = input("请输入数值:")
print(res)
return res
except Exception:
print("输入异常")
def ReadListReelsBorders(bmin=0, bmax=100):
res = [] # 定义输出的列表
value = input("请输入数值:")
try:
while int(value) >= bmin and int(value) <= bmax:
res.append(int(value))
value = input("请输入数值:")
print(res)
return res
except Exception:
print("输入异常")
def MMSList(datalist):
pmin = datalist[0] # 初始化
pmax = datalist[0] # 初始化
psum = 0
for data in datalist:
if data < pmin:
pmin = data
if data > pmax:
pmax = data
psum += data
print("最小值:%s 最大值:%s 总和:%s" %(pmin,pmax, psum))
if __name__ == '__main__':
# datalist = ReadListIntegers()
datalist = ReadListReelsBorders()
MMSList(datalist)
显示结果为:
请输入数值:1
请输入数值:2
请输入数值:3
请输入数值:3
请输入数值:2
请输入数值:4
请输入数值:0
请输入数值:100
请输入数值:101
[1, 2, 3, 3, 2, 4, 0, 100]
最小值:0 最大值:100 总和:115