编程小白请求大神赐教
1.对自然数A、B、C,若A<B<C且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为[10,800]内的勾股弦数组的个数。
2.有一个机器人一次可以向(上、下、左、右)四个方向中的一个方向移动1米,指令分别为(U, D, L, R),机器人初始位置在点A,请设计一个程序,当机器人在执行完指令s后离A点距离小于10米,返回True,大于等于10米,返回False例:输入:”UDDU” 输出:True (理由:机器人还在A点)输入:“LLLLLLLLLL” 输出:False (理由:机器人在A点左边10米)
def fun():
"""
c in [10, 800]
a in [1, 798]
b in [a+1, 799]
"""
array_list = []
for a in range(1, 800):
for b in range(a + 1, 800):
for c in range(10 if b < 10 else b + 1, 801):
if a * a + b * b == c * c:
array = a, b, c
print(array)
array_list.append(array)
print(f"[10, 800]内的勾股弦数组共有{len(array_list)}个!")
def robot(command: str):
"""
:param command: 指令
:return: 是否在初始位置十米内
"""
command = command.lower()
x = command.count('r') - command.count('l')
y = command.count('u') - command.count('d')
distance = pow(pow(x, 2) + pow(y, 2), 0.5)
print(f"机器人坐标:({x}, {y})")
return distance < 10