python 西电OJ部分题目答案

1012
a = input()
if a[-1] == 'r' or a[-1] == 'R':
    try:
        a = int(int(a[0:-1]) / 6)
        print("{}D".format(a))
    except:
        print("Error!")
elif a[-1] == 'D' or a[-1] == 'd':
    try:
        a = int(int(a[0:-1]) * 6)
        print("{}R".format(a))
    except:
        print("Error!")
else:
    print("Error!")

1023
n = int(input())
a_list = []
num = 1
for i in range(n):
    a_list.append(int(input()))
    if num == 1:
        if a_list.count(a_list[i]) > num:
            p = i + 1
            num = 2
if num == 1:
    print("False")
else:
    print("True\n{}".format(p))

1024、
s1 = set(map(int,input().split()))
s2 = set(map(int,input().split()))
s3 = s1 | s2
print(s3)
1025
a = []
s = 0
try:
    while(1):
        a.append(int(input()))
except EOFError:
    pass
s = sum(a) / len(a)
s1 = 0
for i in a:
    s1 = s1 + pow(i-s,2)
print('dev = {:.2}.'.format(pow(s1/(len(a)-1),0.5)))


1028
#hex() 函数用于将10进制整数转换成16进制,以字符串形式表示
print(hex(eval(input())))
1029
import json
try:
    a = []
    while(1):
        a.append(input().split(","))
except EOFError:
    pass     
b = []
for i in a[1:]:
    b.append(dict(sorted(zip(a[0],i))))
print(json.dumps(b,indent = 4))

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
1031
c = 1
for i in range(3):
     a,b= input(),input()
     if a == 'Pile' and b == 'MAKIKAWAYI':
          print('SUCCESS')
          c = 0
          break
if i == 2 and c != 0:
     print('FAILED')
1032
n = int(input())
a = []
for j in range(n):
     args = input()
     a.append(args)

def puanduan(args):
     if len(args) < 8 or len(args) > 16:
           print('NO')
     else:
          a =[0,0,0,0]
          b = '~!,@#$%^'
          for i in args:
               if i.islower():
                    a[0] = 1
               elif i.isupper():
                    a[1] = 1
               elif i.isdigit():
                    a[3] = 1
               elif i in b:
                    a[2] = 1
          if (a[0]+a[1]+a[2]+a[3]) >= 3:
               print('YES')
          else:
               print('NO')
for i in a:
     puanduan(i)
1033
n = int(input())
a = []
for i in range(n):
     a.append(int(input()))
def fibon(n):
     if n == 0 or n == 1:
          return 1
     f1,f2 = 1,1
     for i in range(n-1):
          f3 = f1 + f2
          f1 = f2
          f2 = f3
     return f3
for i in a:
     print(fibon(i))
1036
a = input()
n = eval(input())
b = ''
for i in a:
    if i.isalpha():
        if ord(i) >= ord('a') and ord(i) <= ord('z'):
            if (ord(i) + n - 96) % 26 == 0:
                b = b + 'z'
            else:
                b = b + chr((ord(i) + n - 96) % 26 + 96)
        else:
            if (ord(i) + n - 64) % 26 == 0:
                b = b + 'Z'
            else:
                b = b + chr((ord(i) + n - 64) % 26 + 64)
    else:
        b = b + i
print(b)
1037

import ast
a = ast.literal_eval(input())
c = ''
for i in a[0]:
    p = 0
    for j in range(1,len(a)):
        for k in range(len(a[j])):
            if i == a[j][k]:
                p += 1
                a[j] = a[j][0:k] + a[j][k+1:]
                break

    if p ==(len(a)-1):
        c = c + i
c = ''.join(sorted(c)) #''.join(list) 可以将列表元素以指定符号连接起来
print('"{}"'.format(c))
1038
n = int(input())
a = input()
num1, num2 = 0, 0
for i in a:
    if i=='5': num1 += 1
    elif i == '0': num2 += 1
if num2 == 0:
    print(-1)
else:
    if num1 == 0:
        print(0)
    else:
        for i in range(num1,1,-1):
            if i*5 % 9 == 0:
                print('5'*i+'0'*num2)
                break
        if i == 2:
            print(0)
1040
n, k = map(int,input().split(' '))
l = ''
a = '0123456789ABCDEF'
while n != 0:
    l += a[n % k]
    n = n // k
print(l[::-1])
1041
n, a = map(int,input().split(' '))
s = 0
l = []
for i in range(n):
    s = s + pow(10,i) * a
    l.append(s)
s = 0
for i in l:
    s += i
print(s)
1042
a = int(input())
for i in range((a+1)//2):
    print(" "*((a-1)//2-i),end = "")
    print("*"*(2*i+1),end = "")
    print(" "*((a-1)//2-i))
星星:1043
a = []
n = int(input())
for i in range(n):
    a.append(input())
def pa(string):
    if len(string) == 11:
        print('6' + string[6::])
    else:
        print("Halation - I can't join it!")
for i in a:
    pa(i)
1044
def change(x):
    re = ''
    for i in x:
        re = re + '0' * (8 - len(bin(ord(i))[2:])) + bin(ord(i))[2:]
    return re

n = int(input())
l = []
for i in range(n):
    z = list(map(change,list(input().split(' '))))
    l.append(int('0b' + z[0], 2) + int('0b' + z[1],2))
for i in l:
    print(i)
星星1048
import math
def f(x):
    if x == 1: return 0
    global cnt
    s = int(math.sqrt(x))
    for i in range(2, s + 1):
        cnt += 1
        if x % i == 0: return 1
    return 2

cnt = 0
try:
    cnt_list = []
    while 1:
        cnt_list.append(int(input()))
except EOFError:
    vaule_list = [0]
    cnt = 0
    n = max(cnt_list)
    for i in range(1,n+1):
        f(i)
        vaule_list.append(cnt)
    for i in cnt_list:
        print(vaule_list[i])
1049
#!/usr/bin/python3
n = int(input())
strs=[]
lists=[]
for i in range(n):
    s = input()
    strs.append(s)
rec = len(strs)
sums=0
change = 0
for s in strs:
    first = s.split(' ')[0]
    back = s.split(' ')[1]
    if '1' in back or '0' in back or 'l' in back or 'O' in back:
        back = back.replace('1','@')
        back = back.replace('0', '%')
        back = back.replace('l', 'L')
        back = back.replace('O', 'o')
        lists.append(first+' '+back)
        change += 1
    else:
        sums += 1
if sums == rec and sums == 1:
    print('There is {} account and no account is modified'.format(sums))
elif sums == rec and sums > 1:
    print('There are {} accounts and no account is modified'.format(sums))
else:
    print(change)
    for s in lists:
        print(s)
1050:分级

max = int(input())
a = list(map(int,input().split(' ')))
ran = list(map(int,input().split(' ')))
value = max // 2
sign = 0
def funct(x,y):
    global sign
    for i in range(x, y):
        count1 = sum(a[0:i])
        count2 = sum(a[i:])
        if count1 >= ran[0] and count1 <= ran[1] and count2 >= ran[0] and count2 <= ran[1]:
            sign = i + 1
            break
funct(1,value)
if sign == 0:
    funct(value,max)
print(sign)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dragondraon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值