百度-小度机器人、B站-两数之和、最大公约数、打印菱形


一.2020.9.3小度机器人

题目描述

小度新买了一个机器人玩具,我们把这个机器人放到一个二维坐标上,它的初始位置为(x0,y0),然后给出一串指令,指令包含四个字符U、D、L、R,分别表示上下左右,每遇到一个指令字符,机器人将朝相应的方向移动一格。请输出机器人的最后位置。

输入

0 0

LLRR

输出

0 0

实现代码

def f(s,x,y):
    t=[]
    for i in range(len(s)):
        if s[i]=='U':
            y+=1
        elif s[i]=='D':
            y-=1
        elif s[i]=='L':
            x-=1
        elif s[i]=='R':
            x+=1
    return [x,y]
a,b=map(int,input().split())
s=list(map(str,input()))
res=f(s,a,b)
print(res)
print(str(res[0])+' '+str(res[1]))

二.B站

1.两数之和

#a+b==k,返回a和b的下标
#andiesNeed为和,candies为数组
def find(andiesNeed , candies ):
    for i in range(len(candies)):
        for j in range(i,len(candies)):
            if candies[i]+candies[j]==andiesNeed :
                return [i,j]
a=1
b=[0,1,2,3]
print(find(a,b))

2.最大公约数

#定义一个函数
def gcd(num):
    gcdl = []
    for i in range(1, sorted(num)[0] + 1):
        for index, j in enumerate(num):
            if j % i == 0:
                if (index + 1) == len(num):
                    gcdl.append(i)
                    break
                continue
            else:
                break
    if not gcdl:
        return 1
    else:
        return sorted(gcdl)[-1]
# 用户输入两个数字
nums=[1,2,3,4]
print(gcd(nums))

输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值