20200527
myList = [10, 2, 13, 40, 5, 26, 72, 38, 9]
print("该列表为为", end=" ")
print(myList)
print("第1个元素为%d" %myList[0])
print("最后一个元素为%d" %myList[-1])
print("最大的元素为%d" %max(myList))
print("最小的元素为%d" %min(myList))
sum1 = float(sum(myList))
print("总和为%d" %sum1)
list_length = len(myList)
print("平均值为%d" %(sum1/list_length))
print("排序后为", end=" ")
print(sorted(myList, reverse=True))
list.reverse(myList)
print("倒置后为", end=" ")
print(myList)
########################################################################
listT = [[4, 5, 6], [1, 2, 3], [7, 8, 9] ]
print("该列表为为", end=" ")
print(listT)
print("第一个值为%d" % listT[0][0])
sum1 = 0
sum_diagonal_line = 0
for i in range(len(listT)):
print("第%d行的最大值为" %(i+1), end=" ")
print(max(listT[i]))
for j in range(len(listT[i])):
if i == j:
sum_diagonal_line += listT[i][j]
sum1 += listT[i][j]
res_list=[]
for j in range(len(listT[0])):
one_list = []
for i in range(len(listT)):
one_list.append(int(listT[i][j]))
print("第%d列的最大值为" % (j + 1), end=" ")
print(max(one_list))
print("列表的总和为%d" % sum1)
print("列表的对角线总和为%d" % sum_diagonal_line)
listT.append([10, 20, 30])
listT.append([100, 200, 300])
print("增加后列表为为", end=" ")
print(listT)
print("排序后列表为为", end=" ")
print(sorted(listT, key=(lambda x: x[0])))
20200528
# """
# 1.输入三个数
# """
# #
# a = input("请输入第一个数")
# b = input("请输入第二个数")
# c = input("请输入第三个数")
#
# print("最大的数为", max(a, b, c))
#
# """
# 2.输入一个数判断是否闰年
# """
# #
# a = int(input("请输入一个年份:"))
# if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:
# print("是")
# else:
# print("否")
#
#
# #
# a = 0.0325
# x = 10000
# cont = 0
# while x <= 20000:
# cont = cont + 1
# x = x + x * a
# print("需要用%d年才能翻番" %cont)
#
# #
# import random
# a = random.randint(0, 9)
# while True:
# b = int(input("请输入0-9的数字"))
# if a > b:
# print("小了")
# if a < b:
# print("大了")
# if a == b:
# print("恭喜!你猜中了!")
# break
#
# #
# a = int(input("请输入分数"))
# if a >= 90:
# print("A")
# elif 60 <= a <=89:
# print("B")
# else:
# print("C")
#
#
# #
# import re
# str = input("请输入一个字符串")
# str = re.sub("\D","",str)
# print("字符串的数字为",str)
#
#
# #
# def function(string):
# lists=[]
# numlists=['0','1','2','3','4','5','6','7','8','9']
# for i in string:
# if i in numlists:
# lists.append(i)
# return int(''.join(lists))
#
# m = input("请输入一个字符串")
# print("字符串的数字为", function(m))
"""
*
***
*****
*******
*****
***
*
"""
"""
n = 5
n = int((n+1)/2)
for i in range(1,n+2):
for k in range(0,n-i+1):
print (end=" ")
m = (2 * i)-1
for j in range(0, m):
print("*",end='')
print()
for i in range(n, 0, -1):
for k in range(0,n-i+1):
print (end=" ")
m = (2 * i)-1
for j in range(0, m):
print("*",end='')
print()
"""
# n = int(input("请入菱形共有多少行(奇数)"))
# if n%2 != 0:
# n = int((n+1)/2)
# # 上半部分
# for i in range(1,n+1):
# for k in range(0,n-i+1):
# print (end=" ")
# m = (2 * i)-1
# for j in range(0, m):
# print("*",end='')
# print()
# # 下半部分
# for i in range(n-1, 0, -1):
# for k in range(0,n-i+1):
# print (end=" ")
# m = (2 * i)-1
# for j in range(0, m):
# print("*",end='')
# print()
# else:
# print("输入有问题,请重新输入")
#
20200529
# listA = list(range(1, 100))
# # print(listA)
# listNew = [] # 新列表
# for i in range (0, 99):
# if listA[i] % 2 :
# listNew.append(listA[i]**2)
# print("列表listNew为:", listNew)
# listB = []
# for i, element in enumerate(listA):
# listB.append(tuple([i, element])) # 使用tuple函数将i,element列表转入listB中,因为tuple只能传一个参数
# print("列表listB为")
# print(listB)
# from typing import Dict
#
# import a as a
# listB = ["C++", "Java", "Python", "Ruby", "Go"]
# a = {0: "", 1: "", 2: "", 3: "", 4: ""}
# for i in range(0, 5):
# a[i] = listB[i]
# print(a)
# sum1 = 0
# for ii in a.keys():
# sum1 += i
# print("字典key的值的总和为:", sum1)
# def printTable(n):
# for i in range ( 1, n + 1 ):
# for j in range ( 1, i + 1 ):
# print ( j, "*", i, "=", i * j, end="\t" )
# print ()
#
# n = int(input("请输入需要打印多少行"))
# printTable(n)
# loginDict = {"jack": 123,
# "John": 456,
# "Bill": 789,
# "Ceily": 321}
#
# def login(name, pwd):
# for ii in loginDict.keys ():
# if (name == ii):
#
# for jj in loginDict.values ():
# if (pwd == jj):
# return "账号密码正确,登录成功"
# else:
# return "叼你妈的,密码错了"
#
# else:
# return "叼你妈的,账号都不记得?"
# while True:
# account = input("请输入账号")
# pwd = int(input("请输入密码"))
# s = login(account, pwd)
# print(s)
# if s == "账号密码正确,登录成功":
# break
# 制作简单计算器,实现两个数的加减乘除,
# 提示用户输入两个数,以及想要做的运算类型,
# 输出对应结果,保留小数点后5位
# 输入模块
# x = float(input("请输入两个数字\n第一个数字为:"))
# character=input("请输入运算符号,从+,-,*,/中选择:")
# y = float(input("第二个数字为:"))
#
# # 判断输入的charcter是哪个运算符
# if character == "+": # 如果是加号,则执行x+y
# print("%g%s%g=%g" %(x, character, y, x+y))
# elif character == "-": # 如果是减号,则执行x-y
# print("%g%s%g=%g" %(x, character, y, x-y))
# elif character == "*":# 如果是乘号,则执行x*y
# print("%g%s%g=%g" %(x, character, y, x*y))
# elif character == "/":# 如果是除号,则执行x/y
# print("%g%s%g=%g" %(x, character, y, x/y))
# else: # 如果匹配不了,则输出提示语句
# print("输入的符号有错!")
# # 五个女生的生日信息如下:
# # 黛玉8.20 宝钗4.28 惜春3.15 香凝 6.3 探春11.11
# # 请定义星座判断函数,然后通过函数调用依次输出5个女生所属星座
# """
# 思路:定义一个字典,通过函数来传入生日,遍历字典(升序)。
# 由于星座字典中的key值是该星座的最后一天
# 返回key值,并输出vlaue即可
# """
# def Judge_XingZuo(birthday):
# n1 = {1.19: '摩羯座', 2.18: '水瓶座', 3.20: '双鱼座', 4.19: '白羊座', 5.20: '金牛座', 6.21: '双子座',
# 7.22: '巨蟹座', 8.22: '狮子座', 9.22: '处女座', 10.23: '天秤座', 11.22: '天蝎座', 12.21: '射手座' }
# for i in n1.keys ():
# if birthday < i:
# return n1[i]
# if 12.21 < birthday <= 12.31: # 魔羯座的特殊情况
# return n1[1]
# if birthday < 1.1 or birthday == 2.30 or birthday > 12.31:
# return "错误"
# # 黛玉8.20 宝钗4.28 惜春3.15 香凝 6.3 探春11.11
# print("黛玉的生日是8.20日", ",她的星座是", Judge_XingZuo(8.20))
# print("宝钗的生日是4.28日", ",她的星座是", Judge_XingZuo(4.28))
# print("惜春的生日是3.15日", ", 她的星座是", Judge_XingZuo(3.15))
# print("香凝的生日是6.3日", ",她的星座是", Judge_XingZuo(6.3))
# print("探春的生日是11.11日", ",她的星座是", Judge_XingZuo(11.11))
"""
定义一个student类,包含同学学号,姓名,以及3门课成绩,定义3个实例,
编写函数计算每个学生的平均分,并输出平均分最高和最低的学生信息
"""
#
# def Print():
# print ( "学号\t", "\t姓名\t", "\t成绩1\t", "\t成绩2\t", "\t成绩3\t")
# class student:
# def __init__(self, number, name, list):
# self.number = number
# self.name = name
# self.score = list
# self.ave = sum(list)/3 # 当传入list时赋值平均分
# def Dayin(self):
# print ( self.number, end="\t" ) # 打印学号
# print ( self.name, end="\t\t" ) # 打印姓名
# for i in range (0, 3): # 循环打印成绩
# print ( self.score[i], end="\t\t" )
# def __str__(self): # 魔术方法来调用打印函数
# self.Dayin()
# return "" # 返回一个空字符串
#
# def Search(stu1, stu2, stu3):
# max1=max(stu1.ave, stu2.ave, stu3.ave)
# print ("平均分最高分是:")
# Print()
# if max1 == stu1.ave:
# print(stu1)
# elif max1 == stu2.ave:
# print(stu2)
# elif max1 == stu3.ave:
# print(stu3)
# min1=min(stu1.ave, stu2.ave, stu3.ave)
# print ("平均分最低分是:")
# Print()
# if min1 == stu1.ave:
# print(stu1)
# elif min1 == stu2.ave:
# print(stu2)
# elif min1 == stu3.ave:
# print(stu3)
#
# # 数据定义及显示部分
# l1 = [11,22,33]
# l2 = [33,44,55]
# l3 = [77,88,99]
# stu1 = student("19520120","许婷", l1) # 定义student类的对象
# stu2 = student("19520120","许婷1", l2) # 定义student类的对象
# stu3 = student("19520120","许婷2", l3) # 定义student类的对象
# Print() # 打印表头
# print(stu1)
# print(stu2)
# print(stu3)
# Search(stu1, stu2, stu3)
#
#
# #已知一个4×5矩阵,输出其转置矩阵,原始矩阵值自己设定
# def TransPosition(list1) :
# m = len(list1) # 行数
# n = len(list1[0]) #列数
# x = [] # 给一个列表来返回
# for i in range(n):
# temp = []
# for j in range(m):
# temp.append(list1[j][i]) # 取出一列并加入新表中
# x.append(temp)
# return x # 将转置后的矩阵返回
# l1 = [[3,4,5,6,7],[1,2,3,4,5],[2,3,1,2,1],[2,4,6,8,10]] # 定义初始矩阵
# m = len(l1) # 行数
#
# print("转置前为:")
# for i in range(0,m):
# print(l1[i]) # 输出一行换一行,好看!
# print("转置后为:")
# l2 = TransPosition(l1) # 转置后的行数
# for i in range(0,len(l2)):
# print(l2[i])
"""
定义一个student类,包含同学学号,姓名,以及3门课成绩,定义3个实例,
编写函数计算每个学生的平均分,并输出平均分最高和最低的学生信息
"""
"""
def Print_List():
print ( "ID\t", "Name\t", "score1\t", "score2\t", "score3\t")
def Print_Inform(stu):
print ( stu.ID, end="\t " ) # 打印学号
print ( stu.Name, end="\t " ) # 打印姓名
for i in range (0, 3):
print ( stu.score[i], end="\t " )
print()
class student:
def __init__(self, ID, Name, tuple):
self.ID = ID
self.Name = Name
self.score = tuple
self.ave = sum(self.score)/3
def Judge_max(stu1, stu2, stu3):
the_max = max(stu1.ave,stu3.ave,stu2.ave)
Print_List()
print("平均分最高的人是")
Print_List()
Print_Inform(stu1) if the_max == stu1.ave else Print_Inform(stu2) if the_max == stu2.ave else Print_Inform(stu3)
def Judge_min(stu1, stu2, stu3):
the_min = min(stu1.ave,stu3.ave,stu2.ave)
Print_List()
print("平均分最低的人是")
Print_List()
Print_Inform(stu1) if the_min == stu1.ave else Print_Inform(stu2) if the_min == stu2.ave else Print_Inform(stu3)
score1 = (90, 77, 57)
score2 = (98, 61, 60)
score3 = (98, 86, 72)
stu1 = student("A01","stu1", score1) # 定义student类的对象
stu2 = student("A02","stu2", score2) # 定义student类的对象
stu3 = student("A03","stu3", score3) # 定义student类的对象
Print_List() # 打印表头
Print_Inform(stu1)
Print_Inform(stu2)
Print_Inform(stu3)
Judge_max(stu1, stu2, stu3)
"""
20200603
# def trim(s):
# # if s[:1] != ' ' and s[-1:] != ' ' or len(s) == 0:
# # return s
# # elif s[:1] == ' ':
# # return trim(s[1:])
# # else:
# # return trim(s[:-1])
# # def FormatStr( s ):
# # s = trim(s)
# # length = len(s)
# # s2=''
# # for i in range(0, length):
# # if s[i] == ' ' and s[i+1] != ' ':
# # s2 = s2 + s[i]
# # continue
# # elif s[i] != ' ':
# # s2 = s2+s[i]
# # continue
# # elif s[i] == ' ' and s[i+1] == ' ':
# # s.replace(' ','',1) # 删除多余' '
# # return s2
# # if __name__ == '__main__':
# # s1 = input ("请输入一个字符串")
# # print( FormatStr ( s1 ))
# # # print(' '.join(s1.split())) # spilt将字符串分割,' '.join让字符串以空格链接
#
#
# import random
# i = 0
# f = open("file1.txt", mode='w')
# l = []
# while i < 10:
# l.append(random.randint(1,100))
# i+=1
#
# print("生成的随机序列为", l)
# l.sort()
# print("排序后", l)
# s1 = str(l)
# f.write(s1) # 写入文件
# f.close()
20200604
# 文件题
# 目标文件有四列,姓名,成绩三门,要求加入三行
f = open('score.txt', mode='r', encoding="utf-8")
# while
l = f.readlines()
# l = l.strip()
# l = l.split()
print(l)
l1 = []
for i in l:
split_t = i.split()
l1.append ( split_t )
# print(len(l1))
# print(len(l1[0]))
l1[0].append('平均分')
l1[0].append('最高分')
l1[0].append('最低分')
for i in range(1,len(l1)):
# for j in range(1,len(l1[0])):
scores = list(map(int, l1[i][1:]))
ave_s = int(sum(scores) / 3)
max_s = max(scores)
min_s = min(scores)
# print ( '%g %g %g' % (ave_s, max_s, min_s) )
# print ( ave_s, " ", max_s, ' ', min_s)
l1[i].append(str(ave_s))
l1[i].append(str(max_s))
l1[i].append(str(min_s))
s = ''
for i in range(0,len(l1)):
for j in range(0, len(l1[0])):
s = s + l1[i][j] + '\t'
s = s + '\n'
print(s)
f.close()
f = open('score.txt', mode='w+', encoding="utf-8")
f.write(s)