好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 keaidiren 于 2022-12-7 20:36 编辑
题目:不断从键盘输入两个数,求它们的最大公约数,直到输入“N”才停止。
有几个问题问一下大神们:
1.while作为循环语句,怎么让while识别了我输入了"N"这个字母然后break打断循环。
2."不断输入两个数"这句话我没读懂,会不会老师的意思是python自动给两个数,然后一直循环下去。
代码:↓↓↓↓↓↓↓↓↓↓↓↓↓↓
import math #瞎定义一个数学库,因为我也不知道要不要用到math库来做运算
x,y = input("请输入两个数值(数值之间空格隔开):").split()
input("a:")
while x!=a or y!=a:
x=eval(x) #字符串转换为整型数字
y=eval(y) #字符串转换为整型数字
#对输入的x和y值进行比对选出大的值和小的值
m=max(x,y)
n=min(x,y)
#定义r作为大/小的余数
r=m%n
#开始循环,条件是:当r余数不等于0,则还有余数
break
while r!=0:
m=n
n=r
r=m%n
大致框架在这里
主要是两个while循环,一个识别输入的xy是否是N,一个是数学运算的求最大公约数。
问题就出在第一个大循环识别N!!
求助各方大神
|
-
大概原理图
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|