From c3e445fd2c4b0fab60b460294e341a5d7eee3125 Mon Sep 17 00:00:00 2001 From: Li Wei Date: Wed, 5 Mar 2025 14:19:03 +0800 Subject: [PATCH] backup: 2025-03-05 --- 1.18 谷歌翻译/translate.py | 30 -- M3101/1/.gitignore | 3 - M3101/1/Dice.py | 31 -- M3101/1/GameBase.py | 454 ----------------------- M3101/1/Player.py | 25 -- M3101/1/TonsODice.py | 18 - M3101/1/main.py | 13 - M3101/1/test.py | 27 -- M3101/1/大作业.uxf | 75 ---- M3101/2/.gitignore | 2 - M3101/2/Dice.py | 33 -- M3101/2/Game.py | 414 --------------------- M3101/2/Player.py | 25 -- M3101/2/Tons-o-Dice (first revision).uxf | 68 ---- M3101/2/TonsODice.py | 18 - M3101/2/main.py | 14 - M3101/2/sum.py | 14 - M3101/2/test.py | 22 -- 期末大作业/C语言成绩降序表.csv | 61 --- 期末大作业/Java 成绩降序表.csv | 61 --- 期末大作业/Python 成绩降序表.csv | 61 --- 期末大作业/作业1-2-4.py | 184 --------- 期末大作业/作业3.py | 232 ------------ 期末大作业/作业5-7.py | 92 ----- 期末大作业/成绩表.csv | 61 --- 期末大作业/数据结构成绩降序表.csv | 61 --- 期末大作业/离散数学成绩降序表.csv | 61 --- 期末大作业/算法导论成绩降序表.csv | 61 --- 期末大作业/计算机导论成绩降序表.csv | 61 --- 飞书集成/birthday.jpeg | Bin 155332 -> 0 bytes 飞书集成/上传图片.py | 22 -- 31 files changed, 2304 deletions(-) delete mode 100755 1.18 谷歌翻译/translate.py delete mode 100644 M3101/1/.gitignore delete mode 100644 M3101/1/Dice.py delete mode 100644 M3101/1/GameBase.py delete mode 100644 M3101/1/Player.py delete mode 100644 M3101/1/TonsODice.py delete mode 100644 M3101/1/main.py delete mode 100644 M3101/1/test.py delete mode 100644 M3101/1/大作业.uxf delete mode 100644 M3101/2/.gitignore delete mode 100644 M3101/2/Dice.py delete mode 100644 M3101/2/Game.py delete mode 100644 M3101/2/Player.py delete mode 100644 M3101/2/Tons-o-Dice (first revision).uxf delete mode 100644 M3101/2/TonsODice.py delete mode 100644 M3101/2/main.py delete mode 100644 M3101/2/sum.py delete mode 100644 M3101/2/test.py delete mode 100644 期末大作业/C语言成绩降序表.csv delete mode 100644 期末大作业/Java 成绩降序表.csv delete mode 100644 期末大作业/Python 成绩降序表.csv delete mode 100755 期末大作业/作业1-2-4.py delete mode 100755 期末大作业/作业3.py delete mode 100755 期末大作业/作业5-7.py delete mode 100644 期末大作业/成绩表.csv delete mode 100644 期末大作业/数据结构成绩降序表.csv delete mode 100644 期末大作业/离散数学成绩降序表.csv delete mode 100644 期末大作业/算法导论成绩降序表.csv delete mode 100644 期末大作业/计算机导论成绩降序表.csv delete mode 100644 飞书集成/birthday.jpeg delete mode 100755 飞书集成/上传图片.py diff --git a/1.18 谷歌翻译/translate.py b/1.18 谷歌翻译/translate.py deleted file mode 100755 index 4081aa9af..000000000 --- a/1.18 谷歌翻译/translate.py +++ /dev/null @@ -1,30 +0,0 @@ -import requests -import re - -def translate(text, target_language): - url = 'https://translate.google.cn/_/TranslateWebserverUi/data/batchexecute?rpcids=MkEWBc&f.sid=-2984828793698248690&bl=boq_translate-webserver_20201221.17_p0&hl=zh-CN&soc-app=1&soc-platform=1&soc-device=1&_reqid=5445720&rt=c' - headers = { - 'origin': 'https://translate.google.cn', - 'referer': 'https://translate.google.cn/', - 'sec-fetch-dest': 'empty', - 'sec-fetch-mode': 'cors', - 'sec-fetch-site': 'same-origin', - 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36', - 'x-client-data': 'CIW2yQEIpbbJAQjEtskBCKmdygEIrMfKAQj2x8oBCPfHygEItMvKAQihz8oBCNzVygEIi5nLAQjBnMsB', - 'Decoded':'message ClientVariations {repeated int32 variation_id = [3300101, 3300133, 3300164, 3313321, 3318700, 3318774, 3318775, 3319220, 3319713, 3320540, 3329163, 3329601];}', - 'x-same-domain': '1' - } - data = {'f.req': f'[[["MkEWBc","[[\\"{text}\\",\\"auto\\",\\"{target_language}\\",true],[null]]",null,"generic"]]]'} - res = requests.post(url, headers=headers, data=data).text - temp = re.findall(r'\\(.*?)\\', res) - index = temp.index('"zh') - yiwen=str(temp[index-1]).replace('"','') - return yiwen - -if __name__ == '__main__': - text = input("请输入你要翻译的内容:") - - if len(text) > 0: - print('译文:' + translate(text, "zh")) - else: - print("非法输入,无结果") \ No newline at end of file diff --git a/M3101/1/.gitignore b/M3101/1/.gitignore deleted file mode 100644 index 7066f2770..000000000 --- a/M3101/1/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.idea/ -.vscode/ -__pycache__/ \ No newline at end of file diff --git a/M3101/1/Dice.py b/M3101/1/Dice.py deleted file mode 100644 index 97c92a13d..000000000 --- a/M3101/1/Dice.py +++ /dev/null @@ -1,31 +0,0 @@ -# File: Dice.py -# Description: Dice Class -# Author: ZiTing Wang -# Student ID: 2218040103 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -import random - -class Dice: - diceStrings = { - 1: '⚀', - 2: '⚁', - 3: '⚂', - 4: '⚃', - 5: '⚄', - 6: '⚅' - } - - def __init__(self): - self.point = 0 - - def roll(self): - self.point = random.randint(1, 7) - - def getPointOfDice(self, power: int) -> tuple[int | int, str]: - self.roll() - currentPoint = self.point + power - if currentPoint > 6: - currentPoint = currentPoint % 6 - return currentPoint, self.diceStrings[currentPoint] diff --git a/M3101/1/GameBase.py b/M3101/1/GameBase.py deleted file mode 100644 index c32a8a894..000000000 --- a/M3101/1/GameBase.py +++ /dev/null @@ -1,454 +0,0 @@ -# File: GameBase.py -# Description: GameBase class and three game classes -# Author: ZiTing Wang -# Student ID: 2218040103 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# - -from Dice import Dice -from Player import Player - - -class GameBase: - inputPrompt = "> " - coinsOfPlayers = {} - playerBids = {} - allPlayers = {} - def __init__(self): - self.__helpMsg = '\nWhat would you like to do?\n(n) register a new player\n(c) show your coinsNum\n(s) show ' \ - 'the leader board\n(p) play a game\n(q) quit' - self.__acceptableOptions = ['n', 'c', 's', 'p', 'q'] - - def newPlayer(self) -> None: - """ - New a player - :return: None - """ - print("What is the name of the new player?") - name = input(self.inputPrompt) - if name in self.allPlayers: - print("Sorry, the name is already taken.") - else: - self.allPlayers[name] = Player(name) - print("Welcome, ", name) - - def printLeaderBoard(self): - try: - if len(self.allPlayers) == 0: - raise ValueError - for player in self.allPlayers: - self.coinsOfPlayers[player] = self.allPlayers[player].getCoinNum() - leaderBoard = sorted(self.coinsOfPlayers.items(), key=lambda k: k[1], reverse=True) - print("=============================") - print("Name\t\tPlayed\tWon\tCoins") - print("=============================") - for player in leaderBoard: - name = player[0] - coinsNum = player[1] - print( - f"{name}\t\t" - f"{self.allPlayers[name].total_round}" - f"\t{self.allPlayers[name].win_round}" - f"\t{coinsNum}") - print("=============================") - except ValueError: - print("You have no player now!") - - def queryCoinsNum(self): - try: - if len(self.allPlayers) == 0: - raise ValueError - print("=============================") - for player in self.allPlayers: - print(f"{player}\t\t" - f"{self.allPlayers[player].getCoinNum()}") - except ValueError: - print("No player now!") - - def startGame(self): - print('Which game would you like to play?\n' - '(e) Even-or-Odd\n' - '(m) Minz\n' - '(b) Bunco') - game = input(self.inputPrompt) - if game not in ['e', 'm', 'b']: - print("Invalid choice!") - else: - self.callGameRun(game) - - def processInputOptions(self, op: str) -> None: - if op == 'n': - self.newPlayer() - elif op == 's': - self.printLeaderBoard() - elif op == 'c': - self.queryCoinsNum() - elif op == 'p': - self.startGame() - else: - raise ValueError - - def addPlayerToGame(self, minNum, maxNum): - """ - Add a player - :param minNum: - :param maxNum: - :return: - """ - print(f"How many players ({minNum}-{maxNum})?") - try: - numsPlayer = int(input(self.inputPrompt)) - if numsPlayer < minNum or numsPlayer > maxNum: - raise ValueError - for i in range(numsPlayer): - while True: - print(f"What is the name of player #{i + 1}?") - name = input(self.inputPrompt) - if name not in self.allPlayers: - print(f'There is no player named {name}.') - elif name in self.playerBids: - print(f'{name} is already in the game.') - else: - while True: - print( - f"How many coins would you bid {name} (1-{self.allPlayers[name].getCoinNum()})?") - try: - coinBids = int(input(self.inputPrompt)) - if coinBids > self.allPlayers[name].getCoinNum() or coinBids < 1: - raise ValueError - else: - self.playerBids[name] = coinBids - break - except ValueError: - print("Invalid number of coins.") - break - except ValueError: - print(f"Please input a number between {minNum} and {maxNum}!") - self.addPlayerToGame(minNum, maxNum) - - def playGame(self): - """ - Start a game - :return: - """ - while True: - print(self.__helpMsg) - op = input(self.inputPrompt) - try: - self.processInputOptions(op) - except ValueError: - print("Sorry! Please retry with a valid command.") - - def callGameRun(self, gameOp: str) -> None: - """ - Choose game - :param gameOp: - """ - if gameOp == 'e': - game = EvenOrOdd(self.allPlayers) - game.playGame() - elif gameOp == 'm': - game = Minz(self.allPlayers) - game.playGame() - elif gameOp == 'b': - game = Bunco(self.allPlayers) - game.playGame() - - -class EvenOrOdd(GameBase): - def __init__(self, players): - super().__init__() - self.__persons = 0 - self.allPlayers = players - self.player = "" - - def playGame(self): - if len(self.allPlayers) < 1: - print("No enough players to play EvenOrOdd!") - return - dice = Dice() - print("Let's play the game of EvenOrOdd!") - self.choice = '' - self.power = '' - print(f"Hey {self.player}, Even (e) or Odd (o)?") - while True: - self.choice = input(self.inputPrompt) - if self.choice not in ('e', 'o'): - print("Invalid choice.") - print("Even (e) or Odd (o)?") - else: - break - while True: - print("How strong will you throw (0-5)?") - try: - self.power = int(input(self.inputPrompt)) - if self.power > 5 or self.power < 0: - raise ValueError - else: - break - except ValueError: - print("Invalid choice.") - point = dice.getPointOfDice(self.power) - result = self.getGuessResult(self.choice, point[0]) - print(point[1]) - if result: - print(f"Congratulations, {self.player}! You win!") - self.allPlayers[self.player].win(self.playerBids[self.player]) - self.allPlayers[self.player].win_round += 1 - self.allPlayers[self.player].total_round += 1 - else: - print(f"Sorry, {self.player}! You lose!") - self.allPlayers[self.player].fail(self.playerBids[self.player]) - self.allPlayers[self.player].total_round += 1 - - def addPlayerToGame(self, minNum, maxNum): - """ - Add a player - :param minNum: - :param maxNum: - :return: - """ - while True: - print("What is the name of player?") - self.player = input(self.inputPrompt) - if self.player not in self.allPlayers: - print(f'There is no player named {self.player}.') - else: - while True: - print( - f"How many coinsNum would you bid {self.player} (1-{self.allPlayers[self.player].getCoinNum()})?") - try: - input_coin = int(input(self.inputPrompt)) - if input_coin > self.allPlayers[self.player].getCoinNum() or input_coin < 1: - raise ValueError - else: - self.playerBids[self.player] = input_coin - break - except ValueError: - print("Invalid number of coinsNum.") - break - - def getGuessResult(self, choice: str, point: int) -> bool: - """ - Judge the result :return:bool - """ - isEven = not (point % 2) - if choice == 'e' and isEven: - return True - elif choice == 'o' and isEven: - return False - elif choice == 'e' and not isEven: - return False - else: - return True - - -class Minz(GameBase): - points = {} - additionalTurnPlayers = [] - - def __init__(self, players): - super().__init__() - self.__persons = 0 - self.allPlayers = players - - def playGame(self): - if len(self.allPlayers) < 3: - print("No enough players to play Minz!") - return - print("Let the game begin!") - self.addPlayerToGame(3, 5) - self.play1Turn() - if len(self.additionalTurnPlayers): - self.playAdditionalTurn() - sorted(self.points.items(), key=lambda d: d[1]) - print("-----RESULT-----") - for point in self.points: - print(point, self.points[point]) - print("") - winner = max(self.points.items(), key=lambda d: d[1]) - winner = winner[0] - for key in self.points: - if key == winner: - self.allPlayers[key].win(self.playerBids[key]) - self.allPlayers[key].win_round += 1 - self.allPlayers[key].total_round += 1 - else: - self.allPlayers[key].fail(self.playerBids[key]) - self.allPlayers[key].total_round += 1 - print(f"Congratulations, {winner}! You win!") - - def play1Turn(self): - reversed = {} - self.play1Round(self.playerBids) - for key, value in self.points.items(): - if value not in reversed: - reversed[value] = [key] - else: - reversed[value].append(key) - reversed = sorted(reversed) - for key in reversed: - if len(reversed[key]) > 1: - self.additionalTurnPlayers = reversed[max(reversed, key=lambda k: k[1])] - break - - def playAdditionalTurn(self): - self.play1Round(self.additionalTurnPlayers) - - def play1Round(self, players): - dice = Dice() - for key in players: - choice = '' - self.power = '' - print(f"It's {key}'s turn.") - self.points[key] = 0 - while True: - print("How strong will you throw (0-5)?") - try: - self.power = int(input(self.inputPrompt)) - if self.power > 5 or self.power < 0: - raise ValueError - else: - break - except ValueError: - print("Invalid choice.") - for i in range(2): - point = dice.getPointOfDice(self.power) - print(point[1], end=" ") - self.points[key] += point[0] - print("") - - -class Bunco(GameBase): - def __init__(self, players: dict): - super().__init__() - self.currentPlayer = None - self.__persons = 0 - self.allPlayers = players - self.playerNum = len(self.playerBids) - self.playerName = [i for i in self.allPlayers] - self.totalScores = {} - self.roundWinners = [] - self.buncos = {} - - def playGame(self): - if len(self.allPlayers) < 2: - print("No enough players to play Bunco!") - return - self.addPlayerToGame(2, 4) - for i in self.allPlayers: - self.totalScores[i] = [] - for i in self.playerBids: - self.buncos[i] = 0 - print("Let's play the game of Bunco!") - startingPlayer = self.playerName[0] - for roundNum in range(1, 7): - self.play1Round(roundNum, startingPlayer) - self.printResults() - - def play1Round(self, roundNum, starting_player): - print(f"") - self.currentPlayer = starting_player - round_scores = {} - while True: - for player in self.playerName: - current_total = 0 - self.totalScores[player].append(0) - print(f"It's {player}'s turn.") - roll = self.getResult() - points = self.calculateScore(roll, roundNum) - current_total += points - print(f"You earned {points} points, {current_total} points in total.") - while points > 0: - self.totalScores[player][roundNum - 1] += points - current_total += points - if self.totalScores[player][roundNum - 1] >= 21: - round_scores[player] = current_total - break - print(f"Keep playing {player}.") - roll = self.getResult() - points = self.calculateScore(roll, roundNum) - current_total += points - print(f"You earned {points} points, {current_total} points in total.") - round_scores[player] = current_total - round_winner = (max(round_scores.items(), key=lambda k: k[1]))[0] - print(f"{round_winner} is the winner in round {roundNum}!\n") - self.roundWinners.append(round_winner) - return - - def getResult(self) -> list: - dice = Dice() - self.power = 0 - while True: - print("How strong will you throw (0-5)?") - try: - self.power = int(input(self.inputPrompt)) - if self.power > 5 or self.power < 0: - raise ValueError - else: - break - except ValueError: - print("Invalid choice.") - points = [] - for i in range(3): - point = dice.getPointOfDice(self.power) - print(point[1], end=" ") - points.append(point[0]) - print("") - return points - - def printResults(self): - roundNum = 1 - print("==================================") - print("Round", end='\t') - for player in self.playerBids: - print(player, end='\t') - print("") - for player in range(6): - print(f"\t{roundNum}\t", end="") - for player in self.totalScores: - print(f"{self.totalScores[player][roundNum - 1]}\t", end="") - print("") - roundNum += 1 - print("==================================") - print("Total\t", end="") - for player in self.playerName: - print(f"{sum(self.totalScores[player])}\t", end="") - print("") - print("==================================") - print("Bunco\t", end="") - for player in self.playerName: - print(f'{self.buncos[player]}\t', end="") - print("") - numWins = {} - for player in self.playerName: - numWins[player] = 0 - for player in self.roundWinners: - numWins[player] += 1 - winner = max(numWins.items(), key=lambda k: k[1])[0] - print( - f'{winner} won {numWins[winner]} rounds, scoring {sum(self.totalScores[winner])} points, with {self.buncos[winner]} Buncos') - print(f'Congratulations, {winner}! You win!') - for player in self.playerName: - if player == winner: - self.allPlayers[player].win(self.playerBids[player]) - self.allPlayers[player].win_round += 1 - self.allPlayers[player].total_round += 1 - else: - self.allPlayers[player].fail(self.playerBids[player]) - self.allPlayers[player].total_round += 1 - - def calculateScore(self, roll: list[int], round_number): - score = 0 - point = roll[0] - if roll[0] == roll[1] == roll[2]: - if point == round_number: - score += 21 - self.buncos[self.currentPlayer] += 1 - else: - score += 5 - for point in roll: - if point == round_number: - score += 1 - return score diff --git a/M3101/1/Player.py b/M3101/1/Player.py deleted file mode 100644 index a5c9bcd6c..000000000 --- a/M3101/1/Player.py +++ /dev/null @@ -1,25 +0,0 @@ -# File: Player.py -# Description: Player Class -# Author: ZiTing Wang -# Student ID: 2218040103 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -class Player: - def __init__(self, name): - self.__name = name - self.win_round = 0 - self.total_round = 0 - self.__numOfCoins = 100 - - def addCoins(self, coinsNum): - self.__numOfCoins += coinsNum - - def win(self, coinsNum): - self.addCoins(coinsNum) - - def fail(self, coinsNum): - self.addCoins(-coinsNum) - - def getCoinNum(self): - return self.__numOfCoins diff --git a/M3101/1/TonsODice.py b/M3101/1/TonsODice.py deleted file mode 100644 index 123ae020e..000000000 --- a/M3101/1/TonsODice.py +++ /dev/null @@ -1,18 +0,0 @@ -# File: TonsODice.py -# Description: TonsODice Class -# Author: ZiTing Wang -# Student ID: 2218040103 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -from GameBase import GameBase - - -class TonsODice: - def __init__(self): - pass - - def run(self): - print('Welcome to Tons-o-Dice!\nDeveloped by ZiTing Wang\nCOMP 1048 Object-Oriented Programming') - game = GameBase() - game.playGame() diff --git a/M3101/1/main.py b/M3101/1/main.py deleted file mode 100644 index c9a544f8f..000000000 --- a/M3101/1/main.py +++ /dev/null @@ -1,13 +0,0 @@ -# -# File: main.py -# Description: The mainn entrance of the whole program -# Author: ZiTing Wang -# Student ID: 2218040103 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -from TonsODice import TonsODice - -if __name__ == '__main__': - tod = TonsODice() - tod.run() diff --git a/M3101/1/test.py b/M3101/1/test.py deleted file mode 100644 index 75bb65a2b..000000000 --- a/M3101/1/test.py +++ /dev/null @@ -1,27 +0,0 @@ -import random -import unittest -from Dice import Dice -from GameBase import EvenOrOdd -from Player import Player - - -class MyTestCase(unittest.TestCase): - def testPlayer(self): - player = Player("Yiting") - assert(player.getCoinNum(), 100) - def testDiceRollResult(self): - dice = Dice() - for i in range(1000): - point = (dice.getPointOfDice(random.randint(0, 5)))[0] - assert (1 <= point <= 6, True) - - def testResultOfEvenOrOdd(self): - game = EvenOrOdd({}) - assert (game.getGuessResult('o', 4), False) - assert (game.getGuessResult('o', 3), True) - assert (game.getGuessResult('e', 4), True) - assert (game.getGuessResult('e', 3), False) - - -if __name__ == '__main__': - unittest.main() diff --git a/M3101/1/大作业.uxf b/M3101/1/大作业.uxf deleted file mode 100644 index 6220ed447..000000000 --- a/M3101/1/大作业.uxf +++ /dev/null @@ -1,75 +0,0 @@ -11Space for diagram notUMLClass3410176187Player -- -name:str ---numOfcCoin:int ---numOfGameWon:int ---totalRound:int -- -+play() -+choose() -+bid() -+odd_or_even() -UMLClass22034118799TonsODice --- -+run()UMLClass0913165209EvenOrOdd --- --player: str --- -+addPlayerToGame() -+getGuessResult() -+playGame()UMLClass55034114399Dice --- ---diceStrings: dict --- -+roll() -+getPointOfDice()UMLClass231913154209Minz -- --points: dict --additionalTurnPlayers: list --- -+playGame() -+play1Round() -+play1Turn() -+playAdditionalTurn() -UMLClass429913176209Bunco -- --playerNum: int --playerName: list --totalScores: dict --roundWinners: list --buncosL dict -- -+playGame() -+calculateScore() -+getResult() -+play1Round() -+printResults()Relation66759209176lt=<<- -m1=1 -m2=1170;10;10;140Relation29775944176lt=<<- -m1=1 -m2=110;10;10;140Relation363759154176lt=<<- -m1=1 -m2=110;10;120;140Relation39636317644lt=<<<<<- -m1=1 -m2=1...n10;10;140;10Relation297176165187lt=<<<<- -m1=1...n -m2=1120;10;10;150Relation429176220187lt=<- -m1=1...n -m2=110;10;180;150UMLNote57258315477ZiTing Wang -2218040103UMLClass220528187242GameBase --- --inputPrompt: str --coinsOfPlayers: dict --playerBids: dict --allPlayers: dict --- -+newPlayer() -+playGame() -+callGameRun() -+addPlayerToGame() -+printLeaderBoard() -+queryCoinsNum() -+startGame() -+processInputOptions()Relation29742944121lt=- -m1=1 -m2=110;10;10;90 \ No newline at end of file diff --git a/M3101/2/.gitignore b/M3101/2/.gitignore deleted file mode 100644 index a047a9475..000000000 --- a/M3101/2/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.idea/ -__pycache__/ \ No newline at end of file diff --git a/M3101/2/Dice.py b/M3101/2/Dice.py deleted file mode 100644 index 77824be14..000000000 --- a/M3101/2/Dice.py +++ /dev/null @@ -1,33 +0,0 @@ -# File: Dice.py -# Description: Dice Class -# Author: Yirui Guo -# Student ID: 2218040201 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -import random -from typing import Tuple - - -class Dice: - symbols = { - 1: '⚀', - 2: '⚁', - 3: '⚂', - 4: '⚃', - 5: '⚄', - 6: '⚅' - } - - def __init__(self): - self.point = 0 - - def roll(self): - self.point = random.randint(1, 7) - - def get_point_of_dice(self, power: int) -> tuple[int | int, str]: - self.roll() - point = self.point + power - if point > 6: - point = point % 6 - return point, self.symbols[point] diff --git a/M3101/2/Game.py b/M3101/2/Game.py deleted file mode 100644 index 0d4452eb6..000000000 --- a/M3101/2/Game.py +++ /dev/null @@ -1,414 +0,0 @@ -# File: Game.py -# Description: Game class and three game classes -# Author: Yirui Guo -# Student ID: 2218040201 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -from Dice import Dice -from Player import Player - - -class Game: - players = {} - bids = {} - - def __init__(self): - self.prompt = "> " - self.__valid_inputs = ['n', 'c', 's', 'p', 'q'] - self.__helpMsg = '\nWhat would you like to do?\n(n) register a new player\n(c) show your coins\n(s) show the leader board\n(p) play a game\n(q) quit' - - def handle_game(self, comm): - if comm == 'n': - print("What is the name of the new player?") - name = input(self.prompt) - if name in self.players: - print("Sorry, the name is already taken.") - else: - self.players[name] = Player(name) - print("Welcome, ", name) - elif comm == 'c': - try: - if len(self.players) == 0: - raise AttributeError - print("--------Coins--------") - for key in self.players: - print(key, self.players[key].get_coins()) - except AttributeError: - print("You have no player now!") - elif comm == 's': - try: - if len(self.players) == 0: - raise AttributeError - print("================================") - print("Name\t\tPlayed\tWon\tCoins") - print("================================") - lb = {} - for key in self.players: - lb[key] = self.players[key].get_coins() - top = sorted(lb.items(), key=lambda k: k[1], reverse=True) - for key in top: - print(f"{key[0]}\t\t{self.players[key[0]].total_round}\t{self.players[key[0]].win_round}\t{key[1]}") - print("================================") - except AttributeError: - print("You have no player now!") - elif comm == 'p': - print('Which game would you like to play?\n(e) Even-or-Odd\n(m) Minz\n(b) Bunco') - user_input = input(self.prompt) - if user_input not in ['e', 'm', 'b']: - print("Please choose from e, m, b!") - else: - self.call_game(user_input) - else: - raise ValueError - - def set_persons(self, l, r): - print(f"How many players ({l}-{r})?") - try: - user_input = int(input(self.prompt)) - if user_input < l or user_input > r: - raise ValueError - self.__persons = int(user_input) - for i in range(self.__persons): - while True: - print(f"What is the name of player #{i + 1}?") - user_input = input(self.prompt) - if user_input not in self.players.keys(): - print(f'There is no player named {user_input}.') - elif user_input in self.bids.keys(): - print(f'{user_input} is already in the game.') - else: - while True: - print( - f"How many coins would you bid {user_input} (1-{self.players[user_input].get_coins()})?") - try: - input_coin = int(input(self.prompt)) - if input_coin > self.players[user_input].get_coins() or input_coin < 1: - raise ValueError - else: - self.bids[user_input] = input_coin - break - except ValueError: - print("Invalid number of coins.") - break - except ValueError: - print(f"Please input a number between {l} and {r}!") - self.set_persons(l, r) - - def play_game(self): - while True: - print(self.__helpMsg) - user_input = input(self.prompt) - try: - self.handle_game(user_input) - except ValueError: - print("Sorry! Please retry with a valid command.") - - def call_game(self, comm: str) -> None: - """ - Choose game - :param comm: - """ - if comm == 'e': - game = EvenOrOdd(self.players) - game.play_game() - elif comm == 'm': - game = Minz(self.players) - game.play_game() - elif comm == 'b': - game = Bunco(self.players) - game.play_game() - - -class Minz(Game): - points = {} - additional_turns_players = [] - - def __init__(self, players): - super().__init__() - self.__persons = 0 - self.players = players - - def play_game(self): - if len(self.players) < 3: - print("No enough players to play EvenOrOdd!") - return - print("Let the game begin!") - self.set_persons(3,5) - self.the_first_turn() - if len(self.additional_turns_players): - self.the_second_turn() - sorted(self.points.items(), key=lambda d: d[1]) - print("-----RESULT-----") - for point in self.points: - print(point, self.points[point]) - print("") - winner = max(self.points.items(), key=lambda d: d[1]) - winner = winner[0] - for key in self.points: - if key == winner: - self.players[key].win(self.bids[key]) - self.players[key].win_round += 1 - self.players[key].total_round += 1 - else: - self.players[key].lose(self.bids[key]) - self.players[key].total_round += 1 - print(f"Congratulations, {winner}! You win!") - - def the_first_turn(self): - flipped = {} - self.turn(self.bids) - for key, value in self.points.items(): - if value not in flipped: - flipped[value] = [key] - else: - flipped[value].append(key) - flipped = sorted(flipped) - for key in flipped: - if len(flipped[key]) > 1: - self.additional_turns_players = flipped[max(flipped, key=lambda k: k[1])] - break - - def the_second_turn(self): - self.turn(self.additional_turns_players) - - def turn(self, players): - dice = Dice() - for key in players: - choice = '' - self.power = '' - print(f"It's {key}'s turn.") - self.points[key] = 0 - while True: - print("How strong will you throw (0-5)?") - try: - self.power = int(input(self.prompt)) - if self.power > 5 or self.power < 0: - raise ValueError - else: - break - except ValueError: - print("Invalid choice.") - for i in range(2): - point = dice.get_point_of_dice(self.power) - print(point[1], end=" ") - self.points[key] += point[0] - print("") - - -class EvenOrOdd(Game): - def __init__(self, players): - super().__init__() - self.__persons = 0 - self.players = players - self.player = "" - - def play_game(self): - if len(self.players) < 1: - print("No enough players to play EvenOrOdd!") - return - dice = Dice() - print("Let's play the game of EvenOrOdd!") - while True: - print("What is the name of player?") - self.player = input(self.prompt) - if self.player not in self.players: - print(f'There is no player named {self.player}.') - else: - while True: - print( - f"How many coins would you bid {self.player} (1-{self.players[self.player].get_coins()})?") - try: - input_coin = int(input(self.prompt)) - if input_coin > self.players[self.player].get_coins() or input_coin < 1: - raise ValueError - else: - self.bids[self.player] = input_coin - break - except ValueError: - print("Invalid number of coins.") - break - choice = '' - self.power = '' - print(f"Hey {self.player}, Even (e) or Odd (o)?") - while True: - choice = input(self.prompt) - if choice not in ('e', 'o'): - print("Invalid choice.") - print("Even (e) or Odd (o)?") - else: - break - while True: - print("How strong will you throw (0-5)?") - try: - self.power = int(input(self.prompt)) - if self.power > 5 or self.power < 0: - raise ValueError - else: - break - except ValueError: - print("Invalid choice.") - point = dice.get_point_of_dice(self.power) - result = self.get_result(choice, point[0]) - print(point[1]) - if result: - print(f"Congratulations, {self.player}! You win!") - self.players[self.player].win(self.bids[self.player]) - self.players[self.player].win_round += 1 - self.players[self.player].total_round += 1 - else: - print(f"Sorry, {self.player}! You lose!") - self.players[self.player].lose(self.bids[self.player]) - self.players[self.player].total_round += 1 - - def get_result(self, choice: str, point: int) -> bool: - is_even = not (point % 2) - print(is_even) - if choice == 'e' and is_even: - return True - elif choice == 'o' and is_even: - return False - elif choice == 'e' and not is_even: - return False - else: - return True - - -class Bunco(Game): - def __init__(self, players: dict): - super().__init__() - self.current_player = None - self.__persons = 0 - self.players = players - self.set_persons(2, 4) - self.num_players = len(self.bids) - self.player_names = [i for i in self.players] - self.scores = {} - self.round_winners = [] - for _ in self.bids: - self.scores[_] = [] - self.buncos = {} - for _ in self.bids: - self.buncos[_] = 0 - - def play_game(self): - if len(self.players) < 2: - print("No enough players to play EvenOrOdd!") - return - print("Let's play the game of Bunco!") - starting_player = self.player_names[0] - for round_number in range(1, 7): - self.play_round(round_number, starting_player) - self.print_results() - - def play_round(self, round_number, starting_player): - print(f"") - self.current_player = starting_player - round_scores = {} - while True: - for player in self.player_names: - current_total = 0 - self.scores[player].append(0) - print(f"It's {player}'s turn.") - roll = self.roll_dice() - points = self.calc_score(roll, round_number) - current_total += points - print(f"You earned {points} points, {current_total} points in total.") - while points > 0: - self.scores[player][round_number - 1] += points - current_total += points - if self.scores[player][round_number - 1] >= 21: - round_scores[player] = current_total - break - print(f"Keep playing {player}.") - roll = self.roll_dice() - points = self.calc_score(roll, round_number) - current_total += points - print(f"You earned {points} points, {current_total} points in total.") - round_scores[player] = current_total - round_winner = (max(round_scores.items(), key=lambda k: k[1]))[0] - print(f"{round_winner} is the winner in round {round_number}!\n") - self.round_winners.append(round_winner) - return - - def roll_dice(self) -> list: - dice = Dice() - self.power = 0 - while True: - print("How strong will you throw (0-5)?") - try: - self.power = int(input(self.prompt)) - if self.power > 5 or self.power < 0: - raise ValueError - else: - break - except ValueError: - print("Invalid choice.") - points = [] - for i in range(3): - point = dice.get_point_of_dice(self.power) - print(point[1], end=" ") - points.append(point[0]) - print("") - return points - - def print_results(self): - print("======================================") - print("Round", end='\t') - for i in range(self.num_players): - print(self.player_names[i], end='\t') - print("") - round_number = 1 - for i in range(6): - print(f"\t{round_number}\t", end="") - for key in self.scores: - print(f"{self.scores[key][round_number - 1]}\t", end="") - print("") - round_number += 1 - print("======================================") - print("Total\t", end="") - for key in self.player_names: - print(f"{sum(self.scores[key])}\t", end="") - print("") - print("======================================") - print("Bunco\t", end="") - for key in self.player_names: - print(f'{self.buncos[key]}\t', end="") - print("") - round_wins = {} - for i in self.player_names: - round_wins[i] = 0 - for i in self.round_winners: - round_wins[i] += 1 - winner = max(round_wins.items(), key=lambda k: k[1])[0] - print( - f'{winner} won {round_wins[winner]} rounds, scoring {sum(self.scores[winner])} points, with {self.buncos[winner]} Buncos') - print(f'Congratrulations, {winner}! You win!') - for i in self.player_names: - if i == winner: - self.players[i].win(self.bids[i]) - self.players[i].win_round += 1 - self.players[i].total_round += 1 - else: - self.players[i].lose(self.bids[i]) - self.players[i].total_round += 1 - - - def calc_score(self, roll: list[int], round_number): - score = 0 - point = roll[0] - if roll[0] == roll[1] == roll[2]: - if point == round_number: - score += 21 - self.buncos[self.current_player] += 1 - else: - score += 5 - for point in roll: - if point == round_number: - score += 1 - return score - - -if __name__ == '__main__': - game = Bunco({'a': Player('a'), 'b': Player('b')}) - game.play_game() diff --git a/M3101/2/Player.py b/M3101/2/Player.py deleted file mode 100644 index a60f9219e..000000000 --- a/M3101/2/Player.py +++ /dev/null @@ -1,25 +0,0 @@ -# File: Player.py -# Description: Player Class -# Author: Yirui Guo -# Student ID: 2218040201 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -class Player: - def __init__(self, name): - self.__name = name - self.__coin = 100 - self.win_round = 0 - self.total_round = 0 - - def add(self, coins): - self.__coin += coins - - def win(self, coins): - self.add(coins) - - def lose(self, coins): - self.add(-coins) - - def get_coins(self): - return self.__coin diff --git a/M3101/2/Tons-o-Dice (first revision).uxf b/M3101/2/Tons-o-Dice (first revision).uxf deleted file mode 100644 index 468f2abe7..000000000 --- a/M3101/2/Tons-o-Dice (first revision).uxf +++ /dev/null @@ -1,68 +0,0 @@ -10Space for diagram notesUMLClass70650100150Player -- -+name:str ---coin:int ---winRound:int - -- -+add() -+win() -+lost() -+lose() -+get_coins()UMLClass330680100200/Game/ -- -+leaderBoard:list ---numPeople:int ---account:list ---pond:int ---bid:int -#minPeople:int -#maxPeople:int -- -+play_game() -+handle_game() -+set_persons() -+call_game()UMLClass32049011080Dice -- -+point:str -- -+roll() -+get_point_of_dice() -UMLClass3301010100140Minz -- --points: dict --additional_turns_players: list -- -+play_game() -+the_first_turn() -+the_second_turn() -+turn()UMLClass1601010100130EvenOrOdd -- - -- -+play_game() -+get_result(): boolUMLClass490990170190Bunco -- --current_player: str --num_players: int --player_names: list --scores: dict --round_winners: list -- -+play_game() -+play_round() -+rolll_dice() -+print_results() -+calc_score()Relation210870140160lt=<<-120;10;10;140Relation37087030160lt=<<-10;10;10;140Relation420870130140lt=<<-10;10;110;120Relation16071019050lt=- -m1=1...5 -m2=1 -play10;20;170;20UMLNote74052016070Yirui Guo -2218040201UMLClass58070010090TonsoDice -- - -- -run()Relation42073018040lt=- -10;20;160;20Relation37056050140lt=- -m1=1 -m2=1..3 -hold10;120;10;10 \ No newline at end of file diff --git a/M3101/2/TonsODice.py b/M3101/2/TonsODice.py deleted file mode 100644 index 648833dcb..000000000 --- a/M3101/2/TonsODice.py +++ /dev/null @@ -1,18 +0,0 @@ -# File: TonsODice.py -# Description: TonsODice Class -# Author: Yirui Guo -# Student ID: 2218040201 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -from Game import Game - - -class TonsODice: - def __init__(self): - pass - - def run(self): - print('Welcome to Tons-o-Dice!\nDeveloped by Yirui Guo\nCOMP 1048 Object-Oriented Programming') - game = Game() - game.play_game() \ No newline at end of file diff --git a/M3101/2/main.py b/M3101/2/main.py deleted file mode 100644 index d32993bf1..000000000 --- a/M3101/2/main.py +++ /dev/null @@ -1,14 +0,0 @@ -# -# File: main.py -# Description: Main start point of my program -# Author: Yirui Guo -# Student ID: 2218040201 -# This is my own work as defined by -# the University's Academic Misconduct Policy. -# -from Dice import Dice -from TonsODice import TonsODice - -if __name__ == '__main__': - tod = TonsODice() - tod.run() \ No newline at end of file diff --git a/M3101/2/sum.py b/M3101/2/sum.py deleted file mode 100644 index 539e0e735..000000000 --- a/M3101/2/sum.py +++ /dev/null @@ -1,14 +0,0 @@ -import openai -openai.api_base = "https://api.open.passingai.com" -openai.api_key = "sk-L968sI6TYbd9XcwJ290aB121393148B39e86E1652f467f26" -# print(openai.Model.list()) - -openai.ChatCompletion.create( - model="gpt-3.5-turbo", - messages=[ - {"role": "system", "content": "You are a helpful assistant."}, - {"role": "user", "content": "Who won the world series in 2020?"}, - {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."}, - {"role": "user", "content": "Where was it played?"} - ] -) \ No newline at end of file diff --git a/M3101/2/test.py b/M3101/2/test.py deleted file mode 100644 index 73fb5ecee..000000000 --- a/M3101/2/test.py +++ /dev/null @@ -1,22 +0,0 @@ -import unittest - -import Dice -from Game import EvenOrOdd - - -class MyTestCase(unittest.TestCase): - def test_dice_roll(self): - dice = Dice.Dice() - point = dice.get_point_of_dice(3) - assert 1 <= point[0] <= 6 - - def test_evenorodd_result(self): - game = EvenOrOdd({}) - assert(game.get_result('o', 4), False) - assert(game.get_result('o', 3), True) - assert(game.get_result('e', 4), True) - assert(game.get_result('e', 3), False) - - -if __name__ == '__main__': - unittest.main() diff --git a/期末大作业/C语言成绩降序表.csv b/期末大作业/C语言成绩降序表.csv deleted file mode 100644 index b7116f41f..000000000 --- a/期末大作业/C语言成绩降序表.csv +++ /dev/null @@ -1,61 +0,0 @@ -姓名,性别,学号,C语言程序设计 -祝魏魏,男,4201806,94.4 -萧韩韩,女,4201815,94.4 -费谢蒋,女,4201823,94.4 -薛尤尤,女,4201831,94.4 -严屈尤,女,4201809,93.8 -葛喻计,男,4201856,93.6 -费襟计,男,4201843,93.3 -谢昌昌,女,4201822,92.9 -顾舒舒,女,4201835,92.8 -和苗宋,男,4201857,92.1 -汤邹邹,女,4201842,91.5 -陶韩韩,男,4201816,90.8 -舒米襟,男,4201817,90.7 -葛项项,男,4201830,90.6 -萧唐唐,男,4201838,90.5 -纪奚昌,男,4201849,90.5 -费毛毛,女,4201858,90.4 -乐而奚,女,4201819,89.8 -邹带湛,女,4201829,89.5 -明曹陶,男,4201800,89.2 -陶秦秦,男,4201804,88.8 -金郑郑,男,4201812,88.5 -彭唐华,男,4201840,88.3 -禹卫卫,男,4201853,88.2 -米伏卫,女,4201841,88.0 -雷成成,女,4201828,87.5 -明曹曹,男,4201821,86.9 -邹苏苏,男,4201826,86.6 -杨卫潘,女,4201855,86.5 -何韦韦,男,4201825,85.5 -冯计计,男,4201805,84.5 -康章朱,女,4201854,82.8 -梁朱朱,女,4201801,82.0 -鲍李郎,女,4201814,82.0 -汤朱故,男,4201839,81.6 -袁褚褚,男,4201808,81.0 -卫袁张,女,4201850,80.9 -雷伏伏,女,4201844,80.8 -平酆范,男,4201845,80.8 -平喻华,男,4201833,80.7 -卜周禹,男,4201824,79.9 -华吕而,女,4201820,79.5 -穆蒋蒋,男,4201802,78.2 -云邹章,女,4201846,78.1 -罗褚褚,女,4201810,78.0 -谢奚洪,男,4201803,77.9 -何地地,女,4201813,77.9 -卫沈沈,女,4201852,77.8 -姚分米,男,4201851,77.2 -陶任任,女,4201827,77.1 -禹杨鲁,女,4201811,76.2 -史何飞,男,4201834,76.2 -臧祝宋,女,4201859,76.0 -倪卫卫,男,4201832,75.7 -陶唐尤,女,4201847,75.6 -韩曹曹,女,4201807,75.5 -苗蒋范,女,4201818,75.5 -元彭张,男,4201837,74.8 -彭三杨,男,4201848,74.8 -郎三宋,男,4201836,74.3 diff --git a/期末大作业/Java 成绩降序表.csv b/期末大作业/Java 成绩降序表.csv deleted file mode 100644 index 1fff7e8bc..000000000 --- a/期末大作业/Java 成绩降序表.csv +++ /dev/null @@ -1,61 +0,0 @@ -姓名,性别,学号,Java语言程序设计 -萧唐唐,男,4201838,94.7 -禹杨鲁,女,4201811,94.1 -史何飞,男,4201834,94.1 -金郑郑,男,4201812,93.9 -姚分米,男,4201851,93.7 -汤朱故,男,4201839,93.3 -彭唐华,男,4201840,92.3 -葛项项,男,4201830,90.9 -陶韩韩,男,4201816,90.7 -严屈尤,女,4201809,90.6 -平喻华,男,4201833,90.6 -和苗宋,男,4201857,90.6 -鲍李郎,女,4201814,90.5 -纪奚昌,男,4201849,90.3 -何地地,女,4201813,89.8 -明曹曹,男,4201821,89.8 -穆蒋蒋,男,4201802,89.6 -何韦韦,男,4201825,89.3 -卫沈沈,女,4201852,89.1 -倪卫卫,男,4201832,88.8 -费谢蒋,女,4201823,88.6 -费襟计,男,4201843,88.5 -祝魏魏,男,4201806,88.3 -薛尤尤,女,4201831,88.1 -彭三杨,男,4201848,88.1 -梁朱朱,女,4201801,88.0 -卜周禹,男,4201824,87.4 -陶任任,女,4201827,87.3 -汤邹邹,女,4201842,87.1 -韩曹曹,女,4201807,86.4 -苗蒋范,女,4201818,86.1 -臧祝宋,女,4201859,86.1 -华吕而,女,4201820,85.1 -邹苏苏,男,4201826,85.1 -谢昌昌,女,4201822,84.7 -云邹章,女,4201846,84.6 -舒米襟,男,4201817,84.3 -袁褚褚,男,4201808,83.9 -邹带湛,女,4201829,83.9 -雷成成,女,4201828,83.8 -元彭张,男,4201837,82.2 -冯计计,男,4201805,81.0 -雷伏伏,女,4201844,80.3 -平酆范,男,4201845,79.7 -陶唐尤,女,4201847,79.4 -费毛毛,女,4201858,79.0 -谢奚洪,男,4201803,78.6 -陶秦秦,男,4201804,78.6 -康章朱,女,4201854,78.6 -米伏卫,女,4201841,77.0 -卫袁张,女,4201850,76.9 -明曹陶,男,4201800,76.8 -萧韩韩,女,4201815,75.4 -郎三宋,男,4201836,75.4 -罗褚褚,女,4201810,75.0 -杨卫潘,女,4201855,75.0 -葛喻计,男,4201856,74.4 -乐而奚,女,4201819,74.2 -禹卫卫,男,4201853,74.2 -顾舒舒,女,4201835,74.0 diff --git a/期末大作业/Python 成绩降序表.csv b/期末大作业/Python 成绩降序表.csv deleted file mode 100644 index 625ca844f..000000000 --- a/期末大作业/Python 成绩降序表.csv +++ /dev/null @@ -1,61 +0,0 @@ -姓名,性别,学号,Python程序设计基础 -梁朱朱,女,4201801,94.4 -平酆范,男,4201845,94.2 -金郑郑,男,4201812,93.9 -费襟计,男,4201843,93.3 -乐而奚,女,4201819,92.2 -彭唐华,男,4201840,91.9 -何地地,女,4201813,91.8 -何韦韦,男,4201825,91.3 -萧唐唐,男,4201838,91.3 -郎三宋,男,4201836,90.8 -萧韩韩,女,4201815,90.4 -彭三杨,男,4201848,90.4 -卫沈沈,女,4201852,90.0 -葛喻计,男,4201856,90.0 -邹带湛,女,4201829,89.3 -康章朱,女,4201854,89.3 -谢昌昌,女,4201822,88.7 -邹苏苏,男,4201826,88.7 -汤朱故,男,4201839,88.5 -薛尤尤,女,4201831,87.9 -舒米襟,男,4201817,87.8 -平喻华,男,4201833,87.2 -罗褚褚,女,4201810,86.9 -明曹曹,男,4201821,86.9 -鲍李郎,女,4201814,86.7 -苗蒋范,女,4201818,86.7 -臧祝宋,女,4201859,86.7 -倪卫卫,男,4201832,86.2 -陶任任,女,4201827,85.7 -卜周禹,男,4201824,84.8 -杨卫潘,女,4201855,84.7 -穆蒋蒋,男,4201802,83.0 -纪奚昌,男,4201849,82.6 -云邹章,女,4201846,82.5 -雷成成,女,4201828,82.4 -卫袁张,女,4201850,82.4 -袁褚褚,男,4201808,81.5 -禹杨鲁,女,4201811,80.7 -费谢蒋,女,4201823,80.7 -冯计计,男,4201805,80.5 -费毛毛,女,4201858,80.4 -和苗宋,男,4201857,79.2 -禹卫卫,男,4201853,78.8 -祝魏魏,男,4201806,78.0 -姚分米,男,4201851,77.1 -韩曹曹,女,4201807,76.9 -雷伏伏,女,4201844,76.9 -陶唐尤,女,4201847,76.8 -汤邹邹,女,4201842,76.4 -陶秦秦,男,4201804,76.3 -严屈尤,女,4201809,76.1 -史何飞,男,4201834,76.0 -葛项项,男,4201830,75.8 -陶韩韩,男,4201816,75.1 -米伏卫,女,4201841,74.9 -谢奚洪,男,4201803,74.7 -元彭张,男,4201837,74.5 -明曹陶,男,4201800,74.2 -华吕而,女,4201820,74.2 -顾舒舒,女,4201835,74.0 diff --git a/期末大作业/作业1-2-4.py b/期末大作业/作业1-2-4.py deleted file mode 100755 index afe15fc0e..000000000 --- a/期末大作业/作业1-2-4.py +++ /dev/null @@ -1,184 +0,0 @@ -# -*- coding:utf-8 -*- -import random as rd -import csv -import pandas as pd -FirstName = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁' -LastName = '豫章故郡洪都新府星分翼轸地接衡庐襟三江而带五湖郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜飞李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁' -#二维字典定义 -data_struc = {'structure': {'姓名': '', '性别': '', '学号': '', 'Python程序设计基础': '', '计算机导论': '', '离散数学': '', '数据结构': '', 'C语言程序设计': '', 'Java语言程序设计': '', '算法导论': '', '总分': ''}} -#学生总字典定义 -stuDic = {} -stuList=[] -stuList = stuDic.values() -# 生成学生个人字典 -def gennerateStu(i, name, sex, number, pythonMark, htmlMark, mathMark, dataMark, cMark, javaMark, methodMark): - stuDic[i] = {} - stuDic[i]['姓名'] = name - stuDic[i]['性别'] = sex - stuDic[i]['学号'] = number - stuDic[i]['Python程序设计基础'] = pythonMark - stuDic[i]['计算机导论'] = htmlMark - stuDic[i]['离散数学'] = mathMark - stuDic[i]['数据结构'] = dataMark - stuDic[i]['C语言程序设计'] = cMark - stuDic[i]['Java语言程序设计'] = javaMark - stuDic[i]['算法导论'] = methodMark - stuDic[i]['总分'] = round(stuDic[i]['Python程序设计基础'] + stuDic[i]['计算机导论'] + stuDic[i]['离散数学'] + stuDic[i]['数据结构'] + stuDic[i]['C语言程序设计'] + stuDic[i]['Java语言程序设计'] + stuDic[i]['算法导论'],1) - -#学生信息设置 -def gennerator(): - for i in range(60): - xing = rd.choice(FirstName) - ming = "".join(rd.choice(LastName) for i in range(2)) - name = str(rd.choice(xing)) + str("".join(rd.choice(ming) for i in range(2))) - sex = rd.choice("男女") - number = i + 4201800 - pythonMark = round(rd.uniform(74, 95), 1) - htmlMark = round(rd.uniform(74, 95), 1) - mathMark = round(rd.uniform(74, 95), 1) - dataMark = round(rd.uniform(74, 95), 1) - cMark = round(rd.uniform(74, 95), 1) - javaMark = round(rd.uniform(74, 95), 1) - methodMark = round(rd.uniform(74, 95), 1) - gennerateStu(i, name, sex, number, pythonMark, htmlMark, mathMark, dataMark, cMark, javaMark, methodMark) - -# 写入csv -def writeCSV(): - with open("成绩表.csv", "w") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(stuDic[i]) - -def sortPythonMark(): - python = sorted(stuList, key=lambda i:i['Python程序设计基础'], reverse = True) - with open("Python 成绩降序表.csv", "w", encoding="utf-8") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(python[i]) - data = pd.read_csv("Python 成绩降序表.csv", encoding="utf-8") - data1=data.drop(["离散数学"],axis=1) - data2=data1.drop(["计算机导论"],axis=1) - data3=data2.drop(["数据结构"],axis=1) - data4=data3.drop(["C语言程序设计"],axis=1) - data5=data4.drop(["Java语言程序设计"],axis=1) - data6=data5.drop(["算法导论"],axis=1) - data7=data6.drop(["总分"],axis=1) - data7.to_csv('Python 成绩降序表.csv', header=data_struc, index=False) - -def sortJavaMark(): - java = sorted(stuList, key=lambda i:i['Java语言程序设计'], reverse = True) - with open("Java 成绩降序表.csv", "w", encoding="utf-8") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(java[i]) - data = pd.read_csv("Java 成绩降序表.csv", encoding="utf-8") - data1=data.drop(["离散数学"],axis=1) - data2=data1.drop(["计算机导论"],axis=1) - data3=data2.drop(["数据结构"],axis=1) - data4=data3.drop(["C语言程序设计"],axis=1) - data5=data4.drop(["Python程序设计基础"],axis=1) - data6=data5.drop(["算法导论"],axis=1) - data7=data6.drop(["总分"],axis=1) - data7.to_csv('Java 成绩降序表.csv', header=data_struc, index=False) - -def sortHTMLMark(): - html = sorted(stuList, key=lambda i:i['计算机导论'], reverse = True) - with open("计算机导论成绩降序表.csv", "w", encoding="utf-8") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(html[i]) - data = pd.read_csv("计算机导论成绩降序表.csv", encoding="utf-8") - data1=data.drop(["离散数学"],axis=1) - data2=data1.drop(["Python程序设计基础"],axis=1) - data3=data2.drop(["数据结构"],axis=1) - data4=data3.drop(["C语言程序设计"],axis=1) - data5=data4.drop(["Java语言程序设计"],axis=1) - data6=data5.drop(["算法导论"],axis=1) - data7=data6.drop(["总分"],axis=1) - data7.to_csv('计算机导论成绩降序表.csv', header=data_struc, index=False) - -def sortMathMark(): - Math = sorted(stuList, key=lambda i:i['离散数学'], reverse = True) - with open("离散数学成绩降序表.csv", "w", encoding="utf-8") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(Math[i]) - data = pd.read_csv("离散数学成绩降序表.csv", encoding="utf-8") - data1=data.drop(["计算机导论"],axis=1) - data2=data1.drop(["Python程序设计基础"],axis=1) - data3=data2.drop(["数据结构"],axis=1) - data4=data3.drop(["C语言程序设计"],axis=1) - data5=data4.drop(["Java语言程序设计"],axis=1) - data6=data5.drop(["算法导论"],axis=1) - data7=data6.drop(["总分"],axis=1) - data7.to_csv('离散数学成绩降序表.csv', header=data_struc, index=False) - -def sortDataMark(): - Data = sorted(stuList, key=lambda i:i['数据结构'], reverse = True) - with open("数据结构成绩降序表.csv", "w", encoding="utf-8") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(Data[i]) - data = pd.read_csv("数据结构成绩降序表.csv", encoding="utf-8") - data1=data.drop(["离散数学"],axis=1) - data2=data1.drop(["Java语言程序设计"],axis=1) - data3=data2.drop(["计算机导论"],axis=1) - data4=data3.drop(["C语言程序设计"],axis=1) - data5=data4.drop(["Python程序设计基础"],axis=1) - data6=data5.drop(["算法导论"],axis=1) - data7=data6.drop(["总分"],axis=1) - data7.to_csv('数据结构成绩降序表.csv', header=data_struc, index=False) - -def sortCMark(): - C = sorted(stuList, key=lambda i:i['C语言程序设计'], reverse = True) - with open("C语言成绩降序表.csv", "w", encoding="utf-8") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(C[i]) - data = pd.read_csv("C语言成绩降序表.csv", encoding="utf-8") - data1=data.drop(["离散数学"],axis=1) - data2=data1.drop(["Java语言程序设计"],axis=1) - data3=data2.drop(["数据结构"],axis=1) - data4=data3.drop(["算法导论"],axis=1) - data5=data4.drop(["Python程序设计基础"],axis=1) - data6=data5.drop(["计算机导论"],axis=1) - data7=data6.drop(["总分"],axis=1) - data7.to_csv('C语言成绩降序表.csv', header=data_struc, index=False) - -def sortMethMark(): - Meth = sorted(stuList, key=lambda i:i['算法导论'], reverse = True) - with open("算法导论成绩降序表.csv", "w", encoding="utf-8") as file: - writer = csv.DictWriter(file, fieldnames=data_struc['structure'].keys()) - writer.writeheader() - for i in range(60): - writer.writerow(Meth[i]) - data = pd.read_csv("算法导论成绩降序表.csv", encoding="utf-8") - data1=data.drop(["离散数学"],axis=1) - data2=data1.drop(["Python程序设计基础"],axis=1) - data3=data2.drop(["数据结构"],axis=1) - data4=data3.drop(["C语言程序设计"],axis=1) - data5=data4.drop(["Java语言程序设计"],axis=1) - data6=data5.drop(["计算机导论"],axis=1) - data7=data6.drop(["总分"],axis=1) - data7.to_csv('算法导论成绩降序表.csv', header=data_struc, index=False) - -def main(): - gennerator() - writeCSV() - sortPythonMark() - sortJavaMark() - sortHTMLMark() - sortMathMark() - sortDataMark() - sortCMark() - sortMethMark() - -if __name__ == '__main__': - main() diff --git a/期末大作业/作业3.py b/期末大作业/作业3.py deleted file mode 100755 index a46663a37..000000000 --- a/期末大作业/作业3.py +++ /dev/null @@ -1,232 +0,0 @@ -# -*- coding:utf-8 -*- -import csv -import matplotlib.pyplot as plt - -# 设置字体 -plt.style.use('ggplot') - -def python(): - interval1 = 0 - interval2 = 0 - interval3 = 0 - with open("Python 成绩降序表.csv", "r", encoding="utf-8") as file: - reader = csv.reader(file) - column = [row[3] for row in reader] - python = list(column) - del python[0] - for i in range(len(python)): - if 70 < eval(python[i]) <= 80: - interval1 += 1 - if 80 < eval(python[i]) <= 90: - interval2 += 1 - if 90 < eval(python[i]) <= 100: - interval3 += 1 - # 横坐标列表 - interval = ['70-80', '80-90', '90-100'] - # 纵坐标列表 - intervalNum = [interval1, interval2, interval3] - - plt.title('Python') # 表名 - plt.bar(x=interval, height=intervalNum, color='steelblue', alpha=0.8) # 柱状样式 - # 合成元组进行输出具体数据(可不要) - for x1, yy in zip(interval, intervalNum): - plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0) - # y轴的区间(传入区间) - plt.ylim((0, 40)) - # 显示图表 - plt.show() - - -def html(): - interval1 = 0 - interval2 = 0 - interval3 = 0 - with open("计算机导论成绩降序表.csv", "r", encoding="utf-8") as file: - reader = csv.reader(file) - column = [row[3] for row in reader] - html = list(column) - del html[0] - for i in range(len(html)): - if 70 < eval(html[i]) <= 80: - interval1 += 1 - if 80 < eval(html[i]) <= 90: - interval2 += 1 - if 90 < eval(html[i]) <= 100: - interval3 += 1 - interval = ['70-80', '80-90', '90-100'] - intervalNum = [interval1, interval2, interval3] - plt.title('Computer Introduction') - plt.bar(x=interval, height=intervalNum, color='steelblue', alpha=0.8) - for x1, yy in zip(interval, intervalNum): - plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0) - plt.ylim((0, 40)) - plt.show() - - -def math(): - interval1 = 0 - interval2 = 0 - interval3 = 0 - with open("离散数学成绩降序表.csv", "r", encoding="utf-8") as file: - reader = csv.reader(file) - column = [row[3] for row in reader] - math = list(column) - del math[0] - for i in range(len(math)): - if 70 < eval(math[i]) <= 80: - interval1 += 1 - if 80 < eval(math[i]) <= 90: - interval2 += 1 - if 90 < eval(math[i]) <= 100: - interval3 += 1 - interval = ['70-80', '80-90', '90-100'] - intervalNum = [interval1, interval2, interval3] - plt.title('Math') - plt.bar(x=interval, height=intervalNum, color='steelblue', alpha=0.8) - for x1, yy in zip(interval, intervalNum): - plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0) - plt.ylim((0, 40)) - plt.show() - - -def data(): - interval1 = 0 - interval2 = 0 - interval3 = 0 - with open("数据结构成绩降序表.csv", "r", encoding="utf-8") as file: - reader = csv.reader(file) - column = [row[3] for row in reader] - math = list(column) - del math[0] - for i in range(len(math)): - if 70 < eval(math[i]) <= 80: - interval1 += 1 - if 80 < eval(math[i]) <= 90: - interval2 += 1 - if 90 < eval(math[i]) <= 100: - interval3 += 1 - interval = ['70-80', '80-90', '90-100'] - intervalNum = [interval1, interval2, interval3] - plt.title('Data calMethture') - plt.bar(x=interval, height=intervalNum, color='steelblue', alpha=0.8) - for x1, yy in zip(interval, intervalNum): - plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0) - plt.ylim((0, 40)) - plt.show() - - -def c(): - interval1 = 0 - interval2 = 0 - interval3 = 0 - with open("C语言成绩降序表.csv", "r", encoding="utf-8") as file: - reader = csv.reader(file) - column = [row[3] for row in reader] - c = list(column) - del c[0] - for i in range(len(c)): - if 70 < eval(c[i]) <= 80: - interval1 += 1 - if 80 < eval(c[i]) <= 90: - interval2 += 1 - if 90 < eval(c[i]) <= 100: - interval3 += 1 - interval = ['70-80', '80-90', '90-100'] - intervalNum = [interval1, interval2, interval3] - plt.title('C Program') - plt.bar(x=interval, height=intervalNum, color='steelblue', alpha=0.8) - for x1, yy in zip(interval, intervalNum): - plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0) - plt.ylim((0, 40)) - plt.show() - - -def java(): - interval1 = 0 - interval2 = 0 - interval3 = 0 - with open("Java 成绩降序表.csv", "r", encoding="utf-8") as file: - reader = csv.reader(file) - column = [row[3] for row in reader] - java = list(column) - del java[0] - for i in range(len(java)): - if 70 < eval(java[i]) <= 80: - interval1 += 1 - if 80 < eval(java[i]) <= 90: - interval2 += 1 - if 90 < eval(java[i]) <= 100: - interval3 += 1 - interval = ['70-80', '80-90', '90-100'] - intervalNum = [interval1, interval2, interval3] - plt.title('Java Programming') - plt.bar(x=interval, height=intervalNum, color='steelblue', alpha=0.8) - for x1, yy in zip(interval, intervalNum): - plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0) - plt.ylim((0, 40)) - plt.show() - - -def calMeth(): - interval1 = 0 - interval2 = 0 - interval3 = 0 - with open("算法导论成绩降序表.csv", "r", encoding="utf-8") as file: - reader = csv.reader(file) - column = [row[3] for row in reader] - calMeth = list(column) - del calMeth[0] - for i in range(len(calMeth)): - if 70 < eval(calMeth[i]) <= 80: - interval1 += 1 - if 80 < eval(calMeth[i]) <= 90: - interval2 += 1 - if 90 < eval(calMeth[i]) <= 100: - interval3 += 1 - interval = ['70-80', '80-90', '90-100'] - intervalNum = [interval1, interval2, interval3] - plt.title('Calculating Methods') - plt.bar(x=interval, height=intervalNum, color='steelblue', alpha=0.8) - for x1, yy in zip(interval, intervalNum): - plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0) - plt.ylim((0, 40)) - plt.show() - -def main(): - print('本程序可查看各课程成绩中各区间的人数分布。') - print('请输入要查看的课程:') - print('1.Python 程序设计基础') - print('2.计算机导论') - print('3.离散数学') - print('4.数据结构') - print('5.C语言程序设计') - print('5.Java语言程序设计') - print('7.算法导论') - while (1): - num = eval(input("请输入要查看的课程编号,输入0则退出:")) - if num == 1: - python() - if num == 2: - html() - if num == 3: - math() - if num == 4: - data() - if num == 5: - c() - if num == 6: - java() - if num == 7: - calMeth() - if num == 0: - break - -if __name__ == '__main__': - '''python() - html() - math() - data() - c() - java() - calMeth()''' - main() diff --git a/期末大作业/作业5-7.py b/期末大作业/作业5-7.py deleted file mode 100755 index 637d82eb1..000000000 --- a/期末大作业/作业5-7.py +++ /dev/null @@ -1,92 +0,0 @@ -# -*- coding:utf-8 -*- -import csv -import matplotlib.pyplot as plt -import pandas as pd -import numpy as np - -stu = [] -StuListFinal = [] - -with open("成绩表.csv", "r", encoding='utf-8') as file: - reader = csv.reader(file) - column = [row[-1] for row in reader] - score = list(column) - del score[0] - -def display(lb): - print('总分分别为') - for i in range(0, len(lb), 5): - yield lb[i:i + 5] - -def cal(): - print(*display(score), sep="\n") - print("\n数据计算:") - total, fangcha, avr = 0, 0, 0 - - # 平均分 - for i in range(0, len(score)): - total += eval(score[i]) - avr = total / 60 - for i in range(0, len(score)): - fangcha += ((eval(score[i]) - avr) ** 2) - - print("所有学生最高分为{2:.2f},最低分为{3:.2f},平均分为{0:.2f},方差为{1:.2f}".format(avr, fangcha / 60, float(max(score)), float(min(score)))) - -#work6-7 -def readcsv(): - f = '成绩表.csv' - s = pd.read_csv(f, usecols=[3, 4, 5, 6, 7, 8, 9]) - return np.array(s) - -def sorta(cv): - return cv[-1] - -StuListFinal = readcsv() - -def scoresAbsolute(s, stu1): - TEStu = [] - for stu2 in range(len(StuListFinal)): - if stu2 != stu1: - num = [] - absSum = 0 - num.append(stu2) - for i in range(len(s[stu1])): - absSum += abs(s[stu1][i] - s[stu2][i]) - num.append(absSum) - TEStu.append(num) - TEStu = sorted(TEStu, key=sorta) - AbSumLs = [] - sum = 0 - AbSumLs.append(stu1) - - for i in range(9): - sum += TEStu[i][-1] - AbSumLs.append(TEStu[i][0]) - AbSumLs.append(sum) - stu.append(AbSumLs) - -def DrawSD(listtotal): - plt.style.use('ggplot') - x = ['Python', 'Computer', 'Math', 'Data', 'C', 'Java', 'CalMethod'] - for i in range(10): - y = StuListFinal[listtotal[i]] - print(StuListFinal[listtotal]) - plt.scatter(x, y) - plt.show() - -def work7(): - Final = [] - - for i in range(len(StuListFinal)): - scoresAbsolute(StuListFinal, i) - SortedStuList = sorted(stu, key=sorta) - for j in range(10): - Final.append(SortedStuList[0][j]) - DrawSD(Final) - -def main(): - work7() - cal() - -if __name__ == '__main__': - main() diff --git a/期末大作业/成绩表.csv b/期末大作业/成绩表.csv deleted file mode 100644 index e4163f0fc..000000000 --- a/期末大作业/成绩表.csv +++ /dev/null @@ -1,61 +0,0 @@ -,Ա,ѧ,Pythonƻ,,ɢѧ,ݽṹ,CԳ,JavaԳ,㷨,ܷ -,,4201800,74.2,87.8,83.2,83.2,89.2,76.8,93.3,587.7 -,Ů,4201801,94.4,93.8,79.7,93.5,82.0,88.0,94.1,625.5 -½,,4201802,83.0,90.3,84.3,92.6,78.2,89.6,82.9,600.9 -лɺ,,4201803,74.7,76.0,94.6,93.6,77.9,78.6,79.0,574.4 -,,4201804,76.3,79.4,80.3,82.7,88.8,78.6,80.1,566.2 -Ƽ,,4201805,80.5,84.4,94.0,84.7,84.5,81.0,85.4,594.5 -ףκκ,,4201806,78.0,79.6,90.3,88.7,94.4,88.3,89.5,608.8 -ܲ,Ů,4201807,76.9,94.9,89.6,85.9,75.5,86.4,80.8,590.0 -Ԭ,,4201808,81.5,77.5,90.2,76.2,81.0,83.9,76.1,566.4 -,Ů,4201809,76.1,80.4,81.3,90.4,93.8,90.6,83.5,596.1 -,Ů,4201810,86.9,88.4,82.9,76.5,78.0,75.0,92.2,579.9 -³,Ů,4201811,80.7,83.9,92.1,75.5,76.2,94.1,87.3,589.8 -֣֣,,4201812,93.9,76.9,82.7,90.8,88.5,93.9,82.6,609.3 -εص,Ů,4201813,91.8,90.8,95.0,80.3,77.9,89.8,83.4,609.0 -,Ů,4201814,86.7,94.6,89.5,87.5,82.0,90.5,90.6,621.4 -,Ů,4201815,90.4,93.8,79.2,86.0,94.4,75.4,87.5,606.7 -պ,,4201816,75.1,92.4,90.3,88.1,90.8,90.7,93.6,621.0 -׽,,4201817,87.8,92.1,78.8,87.5,90.7,84.3,84.7,605.9 -罯,Ů,4201818,86.7,74.3,92.3,93.5,75.5,86.1,74.3,582.7 -ֶ,Ů,4201819,92.2,88.9,78.3,94.6,89.8,74.2,74.5,592.5 -,Ů,4201820,74.2,77.3,86.4,88.5,79.5,85.1,82.5,573.5 -ܲ,,4201821,86.9,79.2,87.6,79.0,86.9,89.8,78.5,587.9 -л,Ů,4201822,88.7,74.5,80.8,76.8,92.9,84.7,77.5,575.9 -л,Ů,4201823,80.7,87.0,84.7,87.3,94.4,88.6,90.8,613.5 -,,4201824,84.8,87.8,86.3,90.8,79.9,87.4,91.6,608.6 -ΤΤ,,4201825,91.3,87.0,74.9,76.3,85.5,89.3,87.0,591.3 -,,4201826,88.7,77.7,78.2,77.9,86.6,85.1,92.6,586.8 -,Ů,4201827,85.7,81.8,84.1,94.3,77.1,87.3,79.3,589.6 -׳ɳ,Ů,4201828,82.4,92.7,78.6,80.4,87.5,83.8,87.8,593.2 -޴տ,Ů,4201829,89.3,87.8,85.4,78.6,89.5,83.9,92.2,606.7 -,,4201830,75.8,81.5,74.9,82.8,90.6,90.9,93.8,590.3 -Ѧ,Ů,4201831,87.9,84.6,86.1,91.8,94.4,88.1,81.3,614.2 -,,4201832,86.2,83.5,93.4,92.9,75.7,88.8,91.5,612.0 -ƽ,,4201833,87.2,82.8,82.7,78.2,80.7,90.6,87.8,590.0 -ʷη,,4201834,76.0,91.9,82.5,83.4,76.2,94.1,83.1,587.2 -,Ů,4201835,74.0,75.9,77.1,79.1,92.8,74.0,88.2,561.1 -,,4201836,90.8,93.7,85.2,86.8,74.3,75.4,94.7,600.9 -Ԫ,,4201837,74.5,88.9,86.6,80.3,74.8,82.2,78.7,566.0 -,,4201838,91.3,74.0,90.7,94.0,90.5,94.7,94.0,629.2 -,,4201839,88.5,83.9,93.1,92.9,81.6,93.3,94.2,627.5 -ƻ,,4201840,91.9,78.0,89.4,92.6,88.3,92.3,87.5,620.0 -׷,Ů,4201841,74.9,87.6,88.1,83.8,88.0,77.0,89.4,588.8 -,Ů,4201842,76.4,89.7,90.1,79.8,91.5,87.1,86.0,600.6 -ѽ,,4201843,93.3,79.8,91.7,82.7,93.3,88.5,80.3,609.6 -׷,Ů,4201844,76.9,91.5,83.6,75.5,80.8,80.3,82.4,571.0 -ƽۺ,,4201845,94.2,77.3,78.6,89.9,80.8,79.7,77.1,577.6 -,Ů,4201846,82.5,76.0,91.2,91.4,78.1,84.6,84.6,588.4 -,Ů,4201847,76.8,83.0,75.1,77.8,75.6,79.4,89.4,557.1 -,,4201848,90.4,76.5,94.1,90.4,74.8,88.1,75.1,589.4 -ɲ,,4201849,82.6,84.7,79.5,78.6,90.5,90.3,84.7,590.9 -Ԭ,Ů,4201850,82.4,94.0,75.7,84.2,80.9,76.9,80.5,574.6 -Ҧ,,4201851,77.1,79.8,81.8,78.5,77.2,93.7,81.8,569.9 -,Ů,4201852,90.0,89.7,90.8,83.7,77.8,89.1,85.1,606.2 -,,4201853,78.8,76.5,85.6,85.8,88.2,74.2,80.3,569.4 -,Ů,4201854,89.3,91.6,85.1,79.5,82.8,78.6,85.3,592.2 -,Ů,4201855,84.7,74.7,77.0,83.8,86.5,75.0,87.1,568.8 -,,4201856,90.0,92.1,77.3,86.6,93.6,74.4,79.7,593.7 -,,4201857,79.2,87.4,90.5,92.2,92.1,90.6,82.5,614.5 -ëë,Ů,4201858,80.4,93.9,87.6,91.5,90.4,79.0,93.3,616.1 -ף,Ů,4201859,86.7,86.6,77.7,91.2,76.0,86.1,87.2,591.5 diff --git a/期末大作业/数据结构成绩降序表.csv b/期末大作业/数据结构成绩降序表.csv deleted file mode 100644 index 04bf3fe89..000000000 --- a/期末大作业/数据结构成绩降序表.csv +++ /dev/null @@ -1,61 +0,0 @@ -姓名,性别,学号,数据结构 -乐而奚,女,4201819,94.6 -陶任任,女,4201827,94.3 -萧唐唐,男,4201838,94.0 -谢奚洪,男,4201803,93.6 -梁朱朱,女,4201801,93.5 -苗蒋范,女,4201818,93.5 -倪卫卫,男,4201832,92.9 -汤朱故,男,4201839,92.9 -穆蒋蒋,男,4201802,92.6 -彭唐华,男,4201840,92.6 -和苗宋,男,4201857,92.2 -薛尤尤,女,4201831,91.8 -费毛毛,女,4201858,91.5 -云邹章,女,4201846,91.4 -臧祝宋,女,4201859,91.2 -金郑郑,男,4201812,90.8 -卜周禹,男,4201824,90.8 -严屈尤,女,4201809,90.4 -彭三杨,男,4201848,90.4 -平酆范,男,4201845,89.9 -祝魏魏,男,4201806,88.7 -华吕而,女,4201820,88.5 -陶韩韩,男,4201816,88.1 -鲍李郎,女,4201814,87.5 -舒米襟,男,4201817,87.5 -费谢蒋,女,4201823,87.3 -郎三宋,男,4201836,86.8 -葛喻计,男,4201856,86.6 -萧韩韩,女,4201815,86.0 -韩曹曹,女,4201807,85.9 -禹卫卫,男,4201853,85.8 -冯计计,男,4201805,84.7 -卫袁张,女,4201850,84.2 -米伏卫,女,4201841,83.8 -杨卫潘,女,4201855,83.8 -卫沈沈,女,4201852,83.7 -史何飞,男,4201834,83.4 -明曹陶,男,4201800,83.2 -葛项项,男,4201830,82.8 -陶秦秦,男,4201804,82.7 -费襟计,男,4201843,82.7 -雷成成,女,4201828,80.4 -何地地,女,4201813,80.3 -元彭张,男,4201837,80.3 -汤邹邹,女,4201842,79.8 -康章朱,女,4201854,79.5 -顾舒舒,女,4201835,79.1 -明曹曹,男,4201821,79.0 -邹带湛,女,4201829,78.6 -纪奚昌,男,4201849,78.6 -姚分米,男,4201851,78.5 -平喻华,男,4201833,78.2 -邹苏苏,男,4201826,77.9 -陶唐尤,女,4201847,77.8 -谢昌昌,女,4201822,76.8 -罗褚褚,女,4201810,76.5 -何韦韦,男,4201825,76.3 -袁褚褚,男,4201808,76.2 -禹杨鲁,女,4201811,75.5 -雷伏伏,女,4201844,75.5 diff --git a/期末大作业/离散数学成绩降序表.csv b/期末大作业/离散数学成绩降序表.csv deleted file mode 100644 index c46b3d793..000000000 --- a/期末大作业/离散数学成绩降序表.csv +++ /dev/null @@ -1,61 +0,0 @@ -姓名,性别,学号,离散数学 -何地地,女,4201813,95.0 -谢奚洪,男,4201803,94.6 -彭三杨,男,4201848,94.1 -冯计计,男,4201805,94.0 -倪卫卫,男,4201832,93.4 -汤朱故,男,4201839,93.1 -苗蒋范,女,4201818,92.3 -禹杨鲁,女,4201811,92.1 -费襟计,男,4201843,91.7 -云邹章,女,4201846,91.2 -卫沈沈,女,4201852,90.8 -萧唐唐,男,4201838,90.7 -和苗宋,男,4201857,90.5 -祝魏魏,男,4201806,90.3 -陶韩韩,男,4201816,90.3 -袁褚褚,男,4201808,90.2 -汤邹邹,女,4201842,90.1 -韩曹曹,女,4201807,89.6 -鲍李郎,女,4201814,89.5 -彭唐华,男,4201840,89.4 -米伏卫,女,4201841,88.1 -明曹曹,男,4201821,87.6 -费毛毛,女,4201858,87.6 -元彭张,男,4201837,86.6 -华吕而,女,4201820,86.4 -卜周禹,男,4201824,86.3 -薛尤尤,女,4201831,86.1 -禹卫卫,男,4201853,85.6 -邹带湛,女,4201829,85.4 -郎三宋,男,4201836,85.2 -康章朱,女,4201854,85.1 -费谢蒋,女,4201823,84.7 -穆蒋蒋,男,4201802,84.3 -陶任任,女,4201827,84.1 -雷伏伏,女,4201844,83.6 -明曹陶,男,4201800,83.2 -罗褚褚,女,4201810,82.9 -金郑郑,男,4201812,82.7 -平喻华,男,4201833,82.7 -史何飞,男,4201834,82.5 -姚分米,男,4201851,81.8 -严屈尤,女,4201809,81.3 -谢昌昌,女,4201822,80.8 -陶秦秦,男,4201804,80.3 -梁朱朱,女,4201801,79.7 -纪奚昌,男,4201849,79.5 -萧韩韩,女,4201815,79.2 -舒米襟,男,4201817,78.8 -雷成成,女,4201828,78.6 -平酆范,男,4201845,78.6 -乐而奚,女,4201819,78.3 -邹苏苏,男,4201826,78.2 -臧祝宋,女,4201859,77.7 -葛喻计,男,4201856,77.3 -顾舒舒,女,4201835,77.1 -杨卫潘,女,4201855,77.0 -卫袁张,女,4201850,75.7 -陶唐尤,女,4201847,75.1 -何韦韦,男,4201825,74.9 -葛项项,男,4201830,74.9 diff --git a/期末大作业/算法导论成绩降序表.csv b/期末大作业/算法导论成绩降序表.csv deleted file mode 100644 index 29d5aae46..000000000 --- a/期末大作业/算法导论成绩降序表.csv +++ /dev/null @@ -1,61 +0,0 @@ -姓名,性别,学号,算法导论 -郎三宋,男,4201836,94.7 -汤朱故,男,4201839,94.2 -梁朱朱,女,4201801,94.1 -萧唐唐,男,4201838,94.0 -葛项项,男,4201830,93.8 -陶韩韩,男,4201816,93.6 -明曹陶,男,4201800,93.3 -费毛毛,女,4201858,93.3 -邹苏苏,男,4201826,92.6 -罗褚褚,女,4201810,92.2 -邹带湛,女,4201829,92.2 -卜周禹,男,4201824,91.6 -倪卫卫,男,4201832,91.5 -费谢蒋,女,4201823,90.8 -鲍李郎,女,4201814,90.6 -祝魏魏,男,4201806,89.5 -米伏卫,女,4201841,89.4 -陶唐尤,女,4201847,89.4 -顾舒舒,女,4201835,88.2 -雷成成,女,4201828,87.8 -平喻华,男,4201833,87.8 -萧韩韩,女,4201815,87.5 -彭唐华,男,4201840,87.5 -禹杨鲁,女,4201811,87.3 -臧祝宋,女,4201859,87.2 -杨卫潘,女,4201855,87.1 -何韦韦,男,4201825,87.0 -汤邹邹,女,4201842,86.0 -冯计计,男,4201805,85.4 -康章朱,女,4201854,85.3 -卫沈沈,女,4201852,85.1 -舒米襟,男,4201817,84.7 -纪奚昌,男,4201849,84.7 -云邹章,女,4201846,84.6 -严屈尤,女,4201809,83.5 -何地地,女,4201813,83.4 -史何飞,男,4201834,83.1 -穆蒋蒋,男,4201802,82.9 -金郑郑,男,4201812,82.6 -华吕而,女,4201820,82.5 -和苗宋,男,4201857,82.5 -雷伏伏,女,4201844,82.4 -姚分米,男,4201851,81.8 -薛尤尤,女,4201831,81.3 -韩曹曹,女,4201807,80.8 -卫袁张,女,4201850,80.5 -费襟计,男,4201843,80.3 -禹卫卫,男,4201853,80.3 -陶秦秦,男,4201804,80.1 -葛喻计,男,4201856,79.7 -陶任任,女,4201827,79.3 -谢奚洪,男,4201803,79.0 -元彭张,男,4201837,78.7 -明曹曹,男,4201821,78.5 -谢昌昌,女,4201822,77.5 -平酆范,男,4201845,77.1 -袁褚褚,男,4201808,76.1 -彭三杨,男,4201848,75.1 -乐而奚,女,4201819,74.5 -苗蒋范,女,4201818,74.3 diff --git a/期末大作业/计算机导论成绩降序表.csv b/期末大作业/计算机导论成绩降序表.csv deleted file mode 100644 index 0f26ddb2c..000000000 --- a/期末大作业/计算机导论成绩降序表.csv +++ /dev/null @@ -1,61 +0,0 @@ -姓名,性别,学号,计算机导论 -韩曹曹,女,4201807,94.9 -鲍李郎,女,4201814,94.6 -卫袁张,女,4201850,94.0 -费毛毛,女,4201858,93.9 -梁朱朱,女,4201801,93.8 -萧韩韩,女,4201815,93.8 -郎三宋,男,4201836,93.7 -雷成成,女,4201828,92.7 -陶韩韩,男,4201816,92.4 -舒米襟,男,4201817,92.1 -葛喻计,男,4201856,92.1 -史何飞,男,4201834,91.9 -康章朱,女,4201854,91.6 -雷伏伏,女,4201844,91.5 -何地地,女,4201813,90.8 -穆蒋蒋,男,4201802,90.3 -汤邹邹,女,4201842,89.7 -卫沈沈,女,4201852,89.7 -乐而奚,女,4201819,88.9 -元彭张,男,4201837,88.9 -罗褚褚,女,4201810,88.4 -明曹陶,男,4201800,87.8 -卜周禹,男,4201824,87.8 -邹带湛,女,4201829,87.8 -米伏卫,女,4201841,87.6 -和苗宋,男,4201857,87.4 -费谢蒋,女,4201823,87.0 -何韦韦,男,4201825,87.0 -臧祝宋,女,4201859,86.6 -纪奚昌,男,4201849,84.7 -薛尤尤,女,4201831,84.6 -冯计计,男,4201805,84.4 -禹杨鲁,女,4201811,83.9 -汤朱故,男,4201839,83.9 -倪卫卫,男,4201832,83.5 -陶唐尤,女,4201847,83.0 -平喻华,男,4201833,82.8 -陶任任,女,4201827,81.8 -葛项项,男,4201830,81.5 -严屈尤,女,4201809,80.4 -费襟计,男,4201843,79.8 -姚分米,男,4201851,79.8 -祝魏魏,男,4201806,79.6 -陶秦秦,男,4201804,79.4 -明曹曹,男,4201821,79.2 -彭唐华,男,4201840,78.0 -邹苏苏,男,4201826,77.7 -袁褚褚,男,4201808,77.5 -华吕而,女,4201820,77.3 -平酆范,男,4201845,77.3 -金郑郑,男,4201812,76.9 -彭三杨,男,4201848,76.5 -禹卫卫,男,4201853,76.5 -谢奚洪,男,4201803,76.0 -云邹章,女,4201846,76.0 -顾舒舒,女,4201835,75.9 -杨卫潘,女,4201855,74.7 -谢昌昌,女,4201822,74.5 -苗蒋范,女,4201818,74.3 -萧唐唐,男,4201838,74.0 diff --git a/飞书集成/birthday.jpeg b/飞书集成/birthday.jpeg deleted file mode 100644 index a5d7cb7b78e0625a7741db23b7b1bddaf499cf90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155332 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%0Ds_ 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

    Vv+gsiNMJAqqz!YW)>hv=vv>Iy>@ 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 j)|3qXXMWcjhY0e21_S}YQ#QQt$