用户:二向箔code查看:0 回复:0 评论:0 创建时间:2021-08-09T22:03:51
【作品展示】

【作品介绍】
计算两数的最大公约数的程序没什么教程·
第一个作品
有点烂
【作品源代码】
# 循环
while True:
# 输入
print('寻找两个数的最大公约数')
a = input('请输入第一个正整数:')
b = input('请输入第二个正整数:')
# 存储
c = a
d = b
# 过滤
# 过滤非数字、小数
try:
if type(eval(a)) is int and type(eval(b)) is int:
a = int(a)
b = int(b)
elif type(eval(a)) is float or type(eval(b)) is float:
print("有数字为小数,请重新输入")
print("-----------------------------")
continue
except ValueError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
except NameError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
except TypeError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
except TypeError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
except SyntaxError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
except ImportError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
except UnicodeError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
except NameError:
print("系统无法识别,请重新输入")
print("-----------------------------")
continue
# 过滤非正数
if a < 1 or b < 1:
print("请重新输入非零正整数")
print("-----------------------------")
continue
# 运算
while True:
if (b == 0):
break
else:
if (a > b):
a = (a - b)
continue
else:
b = (b - a)
continue
# 输出
print("{}与{}的最大公约数为{}".format(c,d,a))
while True:
m = input("是否继续?(继续请输入0,停止请输入1):")
try:
if int(m) == 0:
break
elif int(m) == 1:
break
else:
print("请重新输入0或1")
except ValueError:
print("系统无法识别,请重新输入")
continue
if int(m) == 0:
print("-----------------------------")
continue
elif int(m) == 1:
print("欢迎再来~")
break
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn