题目是这样的:开发一个应用程序,该应用程序将接受未知数量的0到100(含)之间的数字值,输入负数时输出已输入的所有值。范围之外的任何值都必须显示一条错误消息,要求用户重新提交。
应用程序还必须接受三个可能的文本,并根据以下要求执行操作:
calculate:输出所有输入的值及其平均值
reset:清除内存中的所有值,以便可以输入一组新值
quit:结束程序
如果用户输入任何其他值,则必须显示错误。
我能实现输入非数字时报错,但想不到怎么接受那三个特点的文本。下面是我写的代码:
values = []
a = 0
while a < 1:
try:
x=float(input("Please enter a value between 0 and 100 (enter -1 to end): "))
except:
print("A numeric value must be between 0 and 100. Please try again.")
values.pop()
if x > 100:
print("Value must be between 0 and 100. Please try again.")
elif x >= 0:
values.append(x)
else:
a = 1
print("Values Entered: ", values)
给你提供个思路你自己测试吧
lst,strOrder = [],[]
exitflag=False
while True:
s=input("Please enter a value between 0 and 100 (enter -1 to end): ")
if isinstance(s,str):
if s=='calculate':
if len(lst)>=1:
print(lst,sum(lst)/len(lst))
else:
print('lst not have data.please input data!')
elif s=='reset':
lst=[]
elif s=='quit':
exitflag=True
break
else:
if s==r'-1':
break
try:
f=float(f)
lst.append(f)
except Exception as e:
print('error code:',e)
print('input data error: error data is',s)
print('lst data is =',lst,'order string is=',strOrder)
if exitflag:
print('quit the program')
else:
print('-1 input exit input data.The program will exit now.')