快乐冲浪与生活

多体验、多体会、多体悟

0%

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/25

"""
PAT 乙级 1041
"""

if __name__ == '__main__':
    n = int(input())

    student_dict = {}
    for _ in range(n):
        tokens = input().split(' ')
        student_dict[tokens[1]] = [tokens[0], tokens[2]]

    _ = input()
    nums = input().split(' ')
    for num in nums:
        print(' '.join(student_dict[num]))

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/25

"""
PAT 乙级 1039
"""

if __name__ == '__main__':
    line = input()

    num_t = 0
    num_at = 0
    num_pat = 0

    for i in range(len(line) - 1, -1, -1):
        if line[i] == 'T':
            num_t += 1
        if num_t != 0 and line[i] == 'A':
            num_at += num_t
        if num_at != 0 and line[i] == 'P':
            num_pat += num_at

    print(num_pat % 1000000007)

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/25

"""
PAT 乙级 1039
"""


def color_stat(s):
    stat = {}
    for c in s:
        if c not in stat:
            stat[c] = 0
        stat[c] = stat[c] + 1
    return stat


if __name__ == '__main__':
    line1 = input()
    line2 = input()

    stat1 = color_stat(line1)
    stat2 = color_stat(line2)
    absent = 0
    for color, num in stat2.items():
        if color in stat1:
            if stat1[color] >= num:
                stat1[color] -= num
            else:
                absent += num - stat1[color]
        else:
            absent += num

    if absent == 0:
        print('Yes', sum(stat1.values()))
    else:
        print('No', absent)

今天在 git pull 时报了如下的错:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Please contact your system administrator.
Add correct host key in /Users/a2htray/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/a2htray/.ssh/known_hosts:2
Host key for github.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

导致无法拉取远程仓库的代码。

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/13

"""
PAT 乙级 1038
"""

if __name__ == '__main__':
    n = int(input())
    scores = {}

    for score in input().split(' '):
        if score not in scores:
            scores[score] = 0
        scores[score] += 1

    counts = []
    for score in input().split(' ')[1:]:
        if score in scores:
            counts.append(scores[score])
        else:
            counts.append('0')
    print(' '.join(map(str, counts)))

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/13

"""
PAT 乙级 1037
"""


def get_gsk(s):
    return list(map(int, s.split('.')))


if __name__ == '__main__':
    gsk1, gsk2 = map(get_gsk, input().split(' '))

    price1 = gsk1[0] * 17 * 29 + gsk1[1] * 29 + gsk1[2]
    price2 = gsk2[0] * 17 * 29 + gsk2[1] * 29 + gsk2[2]

    if price2 >= price1:
        flag = ''
        diff = price2 - price1
    else:
        flag = '-'
        diff = price1 - price2

    print(f'{flag}{diff // 29 // 17}.{diff // 29 % 17}.{diff % 29}')

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/13

"""
PAT 乙级 1036
"""

if __name__ == '__main__':
    tokens = input().split(' ')

    n = int(tokens[0])
    c = tokens[1]

    row_num = str(1.0 * n / 2)
    if '.' in row_num:
        num, fraction = row_num.split('.')
        if 5 <= int(fraction[0]) <= 9:
            num = int(num) + 1
        else:
            num = int(num)
    else:
        num = int(row_num)

    num = int(num)

    for i in range(num):
        if i == 0 or i == num - 1:
            print(''.join([c] * n))
            continue
        print(''.join([c] + [' '] * (n - 2) + [c]))

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/13

"""
PAT 乙级 1033
"""

if __name__ == '__main__':
    bad_keys = input()
    shift_bad = '+' in bad_keys

    for v in input():
        if v in bad_keys or v.upper() in bad_keys:
            continue

        if shift_bad and ord('A') <= ord(v) <= ord('Z'):
            continue

        print(v, end='')

原文:Differences Between Single and Double Brackets in Bash

概述

当我们在 Bash 中做变量比较时,通常可以交换地使用单括号 [] 和双括号 [[]]。比如,我们可以使用表达式 [ 3 -eq 3 ][[ 3 -eq 3 ]] 来比较 3 是否等于 3。两个表达式都会执行成功,那两者的区别是什么呢?

在本文中,我们会讨论单括号和双括号之间的一些区别。

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: a2htray
# create date: 2023/3/12

"""
PAT 乙级 1031
"""
weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
m = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']


def weight_sum(digits):
    total = 0
    for i, digit in enumerate(digits):
        total += digit * weights[i]
    return total


if __name__ == '__main__':
    n = int(input())

    not_passed = []
    for _ in range(n):
        line = input()
        if len(line) != 18:
            not_passed.append(line)
            continue

        all_digit = True
        for c in line[:17]:
            if not c.isdigit():
                all_digit = False
        if not all_digit:
            not_passed.append(line)
            continue

        ws = weight_sum(list(map(int, line[:17])))
        z = ws % 11
        if m[z] != line[17]:
            not_passed.append(line)

    if len(not_passed) == 0:
        print('All passed')
    else:
        for item in not_passed:
            print(item)