鼎利杯练习题

发布时间 2023-04-16 18:07:26作者: 淦丘比

第一题

moves = input()
x, y = 0, 0
for move in moves:
    if move == "L":
        x -= 1
    elif move == "R":
        x += 1
    elif move == "U":
        y += 1
    elif move == "D":
        y -= 1
if x == 0 and y == 0:
    print('true')
else:
    print('false')

第二题

target = input()
nums = [2, 7, 11, 15]
lens = len(nums)
jieguo = False
for i in range(lens):
    for j in range(i+1, lens):
        if nums[j] + nums[i] == int(target):
            x = [i, j]
            jieguo = True
            print(x)
            break
    if jieguo:
        break

第三题

感觉有问题,还没做

第四题

nums = [4, 1, 2, 0]
x = len(nums) + 1
for i in range(x):
    n = 0
    for j in nums:
        if i == j:
            n = 1
            break
    if n == 0:
        print(i)
        break

第五题

还有点问题

num = 30
n, x = 0, 0
for i in range(1, num+1):
    if (x + i % 10) % 2 == 0:
        n += 1
        x += i
        print(i, end=' ')
print('\n', n)

第六题

timePoints = ["01:00","02:00","04:00"]
min_m = 9999
for i in range(len(timePoints) - 1):
    one = timePoints[i].split(':')
    two = timePoints[i + 1].split(':')
    time_1, time_2 = int(one[0]), int(two[0])
    minute_1, minute_2 = int(one[1]), int(two[1])
    if time_1 == 0:
        time_1 = 24
    if time_2 == 0:
        time_2 = 24
    time_1, time_2 = time_1*60, time_2*60
    o = time_1 + minute_1
    t = time_2 + minute_2
    x = t - o
    if x <min_m:
        if x < 0:
            x *= -1
        min_m = x
print(min_m)

第七题

nums1, nums2 = [4,9,5], [9,4,9,8,4]
x = []
for i in nums1:
    for j in nums2:
        if j in x :
            break
        if i == j:
            x.append(j)
print(x)

第八题

nums = [-1,0,3,5,9,12]
target = 9
x = False
for i in range(len(nums)):
    if target == nums[i]:
        print(i)
        x = True
        break
if not x:
    print(-1)

第九题

circles = [[2,2,2],[2,2,5]]
n = 0
gezi = []
for o in circles:
    min_x = o[0] - o[2]
    max_x = o[0] + o[2]
    min_y = o[1] - o[2]
    max_y = o[1] + o[2]
    n_r = 2*o[2] + 1
    for x in range(min_x, max_x + 1):
        for y in range(min_y, max_y + 1):
            total_x = (x - o[0])
            total_y = (y - o[1])
            if total_x < 0:
                total_x *= -1
            if total_y < 0:
                total_y *= -1
            long = pow(total_x ** 2 + total_y ** 2, 0.5)
            if long <= o[2]:
                if not [x,y] in gezi:
                    gezi.append([x,y])
                    n += 1
print(n)