Python练习(四)

Python练习(四)

1.矩阵转置,输入一个4行5列的矩阵并转置

a = []
#行数控制
for i in range(4):
    a.append([])
    #列数控制
    for j in range(5):
        print('第'+str(i+1)+'行,第'+str(j+1)+'列')
        a[i].append(int(input('请输入整数:')))
print(a)

result = []
for i in range(5):
    item = []
    for j in range(4):
        item.append(a[j][i])
    result.append(item)
print(result)

2.按照姓名排序,有如下一份数据,按照姓名排序。

Python练习(四)_第1张图片

from xpinyin import Pinyin
content = []
with open ('score.txt','r',encoding='utf-8') as f:
    for line in f.readlines():
        content.append(line.replace('\n',''))
content = content[1:]
print(content)
name_list = []
for conten in content:
    name_list.append(conten.split(',')[0])

def my_function(lis):             #输入一个名字的列表
    pin=Pinyin()
    result=[]
    for item in lis:
        result.append((pin.get_pinyin(item),item))
    result.sort()
    for i in range(len(result)):
        result[i]=result[i][1]
    # result=' '.join(result)       #将排好序的结果使用空格连接,方便输出
    return result                 #输出结果
result = my_function(name_list)
print(result)
with open ('scoreq.txt','w',encoding='utf-8') as f:
    f.write('姓名,语文,数学,英语\n')
    for i in range(len(result)):
        for conten in content:
            if result[i] in conten:
                f.write(conten+'\n')

3.一个数能开方得正整数,则称这个数为完整平方数。有一个数字加上2018是完整平方数,再加上2019还是完整平方数,求这个数字。

import math
for i in range(10000000):
    x = int(math.sqrt(i + 2018))
    y = int(math.sqrt(i + 2018+2019))
    if (x * x == i + 2018) and (y * y == i +2018+ 2019):
        print(i)

4.随机生成20个数字,前10个数字升序排列,后10个数字降序排列

import random
number_list = random.sample(range(1,100),20)
# number_list.sort()
print(number_list)
number1 = number_list[:10]
number1.sort()
print(number1)
number2 = number_list[10:]
number2.sort(reverse = True)
print(number2)

 

你可能感兴趣的:(个人小记)