PTA Python第七周题解

7-1 sdut-输出字母在字符串中位置索引 (10 分)

s = str(input())
n = len(s)
list = []
c1, c2 = input().split()
for i in range(n):
    list.append(0)
for i in range(n):
    if s[i]==c1 or s[i]==c2:
        list[i] = 1
for i in range(n-1,-1,-1):
    if list[i]==1:
        print("{} {}".format(i, s[i]))

7-2 sdut-逆序的N位数 (10 分)

a = input()
if int(a) < 0:
    a = a[1:]
    b = -int(a[::-1])
else:
    b = int(a[::-1])
print(b)

7-3 sdut-判断两个字符串是否为变位词 (10 分)

def anagramSolution(s1,s2):
    d1 = {}
    d2 = {}
    for i in range(len(s1)):
        if d1.get(s1[i],0) == 0:
            d1[s1[i]] = 1
        else :
            d1[s1[i]] += 1
    for i in range(len(s2)):
        if d2.get(s2[i], 0) == 0:
            d2[s2[i]] = 1
        else:
            d2[s2[i]] += 1
    if d1 == d2:
        return True
    else :
        return False

s1 = input()
s2 = input()
if anagramSolution(s1,s2):
    print('yes')
else:
    print('no')

7-4 英文字母的大小写转换 (10 分)

a, b = input().split()
print("{},{}".format(a.lower(),b.upper()))

7-5 求子串 (10 分)

str = input()
fd = str.find(' ')
n = int(str[:fd])
str = str[fd+1:]
print(str[:n])

7-6 查找字符串 (10 分)

T = eval(input())

def Judge(s1,s2):
    return s1 in s2

for i in range(T):
    s1, s2 = input().split()
    if Judge(s2, s1):
        print("Found!")
    else:
        print("not Found!")

7-7 保持数列有序 (10 分)

try:
    while True:
        List1 = list(map(int, input().split()))
        y = (List1[1::])
        x = sorted(y)
        for i in range(len(x)-1):
            print(x[i],end=" ")
        print(x[len(x)-1])
except EOFError:
    pass

7-8 进制转换 (5 分)

n = eval(input())
print("{0:b} {0:o} {0:x}".format(n,n,n))

7-9 判断素数 (20 分)

n = eval(input())
for i in range(n):
    num = eval(input())
    if num < 2:
        print("No")
    else:
        for i in range(2, num):
            if num % i == 0:
                print("No")
                break
        else:
            print("Yes")

7-10 查找字符串中最长的数字子串 (100 分)

import re
str = max(re.findall(r"\d*", input()), key=len)
if str:
    print(str)
else:
    print("No")
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值