def zz(i12):
i13 = 0
if type(i12)!=str:
i13 = 0
else:
if len(i12) == 0:
i13 = 1
else:
for i11 in range(0,len(i12)):
if str(ord(i12[i11:i11+1])-48) != i12[i11:i11+1]:
i13 = 1
if i13 == 1:
print("终止程序")
return 1
else:
return 0
请配合exit()使用
用一个求比赛平均数的代码举例:
import os
a = 1
i = 0
c = 0
def zz(i12):
i13 = 0
if type(i12)!=str:
i13 = 0
else:
if len(i12) == 0:
i13 = 1
else:
for i11 in range(0,len(i12)):
if str(ord(i12[i11:i11+1])-48) != i12[i11:i11+1]:
i13 = 1
if i13 == 1:
print("终止程序")
return 1
else:
return 0
print("提示:任意时刻输入字符(包括不输入)时终止程序")
i = input("请输入评委数量:")
if zz(i) == 1:
exit(0)
while a == 1:
if zz(i) == 1:
exit(0)
if int(i) <= 2:
i = int(input("输入错误!\n错误原因:评委数量不能小于3\n请重新输入评委数量:"))
a = 1
else:
a = 0
b = []
print("请依次输入评委打分分数:")
while a == 0:
for i1 in range(0,int(i)):
a1 = '正在输入第{0}位评委分数:'
print(a1.format(i1+1),end='')
c = input()
if zz(c) == 1:
exit(0)
a = 0
while a == 0:
if (float(c) >= int(0)) and (float(c) <= int(100)):
b.append(float(c))
a = 1
else:
c = input("输入错误!\n原因:分数为0至100间的实数\n请重新输入分数:")
b.sort(reverse=True)
m1 = b[0]
m2 = b[(len(b)-1)]
b.pop()
del b[0]
ave = round(sum(b)/len(b),2)
a1 = "去掉最高分:{0},最低分:{1}后取平均分得出该选手本场得分为:{2}。"
print(a1.format(m1, m2, ave))
结果如下: