盘点那些年的高质量Python语法练手题(保姆级注释!!!)

s = input()

lis = []
for i in range(12):
    d = list(map(float, input().split())) #构造二维数组
    lis.append(d)
    
res, cnt = 0, 0
for i in range(5):
    for j in range(i + 1, 11 - i): #倒三角区域
        res += lis[i][j]
        cnt += 1
        
if s == "M":  #预处理答案
    res /= cnt

print("%.1f"%res)
    

 

class Solution(object):
    def Fibonacci(self, n):   
        res, pev = 0, 1
        for i in range(n):
            res, pev = res + pev, res
        return res

 

s = input()
if len(s) == 3: 
    if int(s[0]) ** 3 + int(s[1]) ** 3 + int(s[2]) ** 3 == int(s):
        print("该数是水仙花数")
    else:
        print("该数不是水仙花数")
else :
    print("输入错误,不是一个三位数")

ls = []  #需要创建列表判断是否无解
n = int(input())
for i in range(n + 1):
    if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
        ls.append(i)
if len(ls) == 0:
    print("无解")
else:
    for i in ls:
        print(i, end = ' ')

 

str =input()
l = len(str)

def 性别(str):
    if l == 15:
        str = int(str[-1])
    if l == 18:
        str = int(str[-2])
    if str in [1,3,5,7,9]:
        sex = '男'
    else:
        sex = '女'
    return sex

def 日期合法性(n,y,r):   #背诵模板
    month = [0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if(y<=0 or y>12 or r<=0 or r>31):
        return 0
    elif(n%4 == 0 and n%100 != 0 or n%400==0):
        month[2] += 1
    return r <= month[y]

def 提取日期(str,l):
    global tem,n,y,r
    if l == 15:
        str = str[6:12]
        n = "19"+str[0:2]
        y = str[2:4]
        r = str[4:6]
        tem = "{0}年{1}月{2}日".format(n, y, r)
        n = int(n);y = int(y);r = int(r)
    if l == 18:
        str = str[6:14]
        n = str[0:4]
        y = str[4:6]
        r = str[6:8]
        tem = "{0}年{1}月{2}日".format(n, y, r)
        n = int(n);y = int(y);r = int(r)


def 身份(str,l):
        提取日期(str, l)
        if 日期合法性(n,y,r):
            print(性别(str),tem,sep=',')
        else:
            print("Error,日期不合法")

身份(str,l)

a = input()
b = int(input())
c = ''
for i in a:
    if i.isalpha():  #判断字符串中是不是只有数字
        temp = ord(i)+b #该函数是以单个字符作为参数,返回对应的ASCll数值
        if chr(temp).isalpha(): #chr()函数是Python中的一个库函数,用于从给定的ASCII码 (整数值)中获取字符值
            c += chr(temp)
        else:
            c += chr(temp-26)
    else:
        c += i
print(c)

money=input()
if money[0] == 'R':
    m=int(money[1:])/6  #注意写法!
    print("${:.2f}".format(m))
elif money[0] == '$':
    m=int(money[1:])*6
    print("R{:.2f}".format(m))

 

year = int(input())
month = int(input())
month_31 = [1, 3, 5, 7, 8, 10, 12] 
month_30 = [4, 6, 9, 11]           
if year % 4 == 0 and year % 100 != 0:
    if month in month_31:
        print(f"{year}年{month}月有31天")
    elif month in month_30:
        print(f"{year}年{month}月有30天")
    else:
        print(f"{year}年{month}月有29天")
elif year % 400 == 0:
    if month in month_31:
        print(f"{year}年{month}月有31天")
    elif month in month_30:
        print(f"{year}年{month}月有30天")
    else:
        print(f"{year}年{month}月有29天")
else:
    if month in month_31:
        print(f"{year}年{month}月有31天")
    elif month in month_30:
        print(f"{year}年{month}月有30天")
    else:
        print(f"{year}年{month}月有28天")

 

a = input()
n = len(a) 
if n % 2:
    mid = n//2
    for i in range(mid):
        print(a[i],end='')
        print(a[(i+1)*-1],end='')
    print(a[mid])
else:
    mid = n//2
    for i in range(mid):
        print(a[i],end='')
        print(a[(i+1)*-1],end='')

 

a = input()
cir = len(a)
key = list(map(ord,list(a)))#a=97
text = input()
lenght = len(text)
for i in range(lenght):
    if 97 <= ord(text[i]) <= 122:
        i = ord(text[i]) + key[i%cir]-97
        if not i <= 122:
            i -= 26
        print(chr(i),end='')
    else:
        print(text[i],end='')

str =input()
l = len(str)

def 性别(str):
    if l == 15:
        str = int(str[-1])
    if l == 18:
        str = int(str[-2])
    if str in [1,3,5,7,9]:
        sex = '男'
    else:
        sex = '女'
    return sex

def 日期合法性(n,y,r):
    month = [0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if(y<=0 or y>12 or r<=0 or r>31):
        return 0
    elif(n%4 == 0 and n%100 != 0 or n%400==0):
        month[2] += 1
    return r <= month[y]

def 提取日期(str,l):
    global tem,n,y,r
    if l == 15:
        str = str[6:12]
        n = "19"+str[0:2]
        y = str[2:4]
        r = str[)4::6]
        tem = "{0}年{1}月{2}日".format(n, y, r)
        n = int(n);y = int(y);r = int(r)
    if l == 18:
        str = str[6:14]
        n = str[0:4]
        y = str[4:6]
        r = str[6:8]
        tem = "{0}年{1}月{2}日".format(n, y, r)
        n = int(n);y = int(y);r = int(r)


def 身份(str,l):
        提取日期(str, l)
        if 日期合法性(n,y,r):
            print(性别(str),tem,sep=',')
        else:
            print("Error,日期不合法")

身份(str,l)

s = []
while True:
    c = input()
    if c == '!!!!!'
        break
    s += c.split()
ls = []
s = list(set(s))
n = len(s)
print(n)
s.sort()
if n < 10:
    for i in s:
        print(i)
else:
    for i in range(10):
        print(s[i])

 

a = dict(eval(input()))
b = dict(eval(input()))
for k in b.keys():
    a[k] = a.get(k, 0) + b[k]

t = list(a.items())
t.sort(key=lambda x : ord(x[0]) if type(x[0]) == str else x[0])
c = str(dict(t)).replace(' ', '').replace("'", '"')
print(c)

# 这段代码包含以下 Python 语法知识:

# 排序方法sort():对列表进行排序。
# lambda 表达式:用来创建匿名函数,这里用来根据给定的键或字母序列对列表进行排序。
# key 参数:用来指定排序的键或者字母序列。
# 列表推导式:用于读取和处理来自列表的元素。在此代码中未使用列表推导式。
# 条件语句:x[0]的类型是字符串时,调用ord()函数获取Unicode值,如果不是字符串,则直接返回x[0]。
# ord() 函数:获取字符的 Unicode 数值。
# 多个赋值:用于将结果排序并返回原始列表。在此代码段中未使用多个赋值。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值