南邮通达python程序设计———— 一些代做的代码(很多是为了练手)

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)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值