docs: 2026-03-24作业_python文件
This commit is contained in:
28
2026-03-24/2026-03-24_hw_1.py
Normal file
28
2026-03-24/2026-03-24_hw_1.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# 实现简单的四则运算计算器
|
||||
# 输入两个数一个运算符,输出结果
|
||||
|
||||
|
||||
def add(num1:float, num2:float) -> float:
|
||||
return num1 + num2
|
||||
def sub(num1:float, num2:float) -> float:
|
||||
return num1 - num2
|
||||
def mul(num1:float, num2:float) -> float:
|
||||
return num1 * num2
|
||||
def div(num1:float, num2:float) -> float:
|
||||
return num1 / num2
|
||||
|
||||
def main():
|
||||
a1 = float(input("请输入第一个数: "))
|
||||
a2 = float(input("请输入第二个数: "))
|
||||
s = input("请输入运算符: ")
|
||||
|
||||
if s not in ["+", "-", "*", "/"]:
|
||||
print("请输入正确的符号")
|
||||
return
|
||||
|
||||
p = {"+": add, "-": sub, "*": mul, "/": div}
|
||||
print(p[s](a1, a2))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
61
2026-03-24/2026-03-24_hw_2.py
Normal file
61
2026-03-24/2026-03-24_hw_2.py
Normal file
@@ -0,0 +1,61 @@
|
||||
# 入机猜拳
|
||||
|
||||
|
||||
import random
|
||||
|
||||
class Player:
|
||||
def __init__(self):
|
||||
self.dict_gesture = {0: '剪刀', 1: '石头', 2: '布'}
|
||||
|
||||
def gesture(self, num):
|
||||
return self.dict_gesture[num]
|
||||
|
||||
class AIPlayer(Player):
|
||||
play_data = [] # 存储玩家猜拳手势(类属性)
|
||||
|
||||
def ai_gesture(self):
|
||||
while True:
|
||||
computer = random.randint(0, 2)
|
||||
if len(self.play_data) >= 4:
|
||||
# 获取玩家出拳的最大概率
|
||||
max_prob = max(self.play_data, key=self.play_data.count)
|
||||
if max_prob == '剪刀':
|
||||
return '石头'
|
||||
elif max_prob == '石头':
|
||||
return '布'
|
||||
else:
|
||||
return '剪刀'
|
||||
else:
|
||||
return self.dict_gesture[computer]
|
||||
|
||||
class Game(Player):
|
||||
def game_judge(self):
|
||||
player_num = int(input("请输入(0剪刀、1石头、2布:)")) # 玩家输入的手势
|
||||
player = self.gesture(player_num)
|
||||
AIPlayer().play_data.append(player)
|
||||
ai_player = AIPlayer().ai_gesture()
|
||||
|
||||
if (player == '剪刀' and ai_player == '布') or \
|
||||
(player == '石头' and ai_player == '剪刀') or \
|
||||
(player == '布' and ai_player == '石头'):
|
||||
print(f"电脑出的手势是{ai_player},恭喜,你赢了!")
|
||||
elif (player == '剪刀' and ai_player == '剪刀') or \
|
||||
(player == '石头' and ai_player == '石头') or \
|
||||
(player == '布' and ai_player == '布'):
|
||||
print(f"电脑出的手势是{ai_player},打成平局了!")
|
||||
else:
|
||||
print(f"电脑出的手势是{ai_player},你输了,再接再厉!")
|
||||
|
||||
def main(self):
|
||||
self.game_judge()
|
||||
while True:
|
||||
option = input("是否继续:y/n\n")
|
||||
if option == 'y':
|
||||
self.game_judge()
|
||||
else:
|
||||
break
|
||||
|
||||
# 程序入口
|
||||
if __name__ == "__main__":
|
||||
game = Game()
|
||||
game.main()
|
||||
28
2026-03-24/2026-03-24_hw_3.py
Normal file
28
2026-03-24/2026-03-24_hw_3.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# 实现 Circle 类...
|
||||
|
||||
|
||||
import math
|
||||
|
||||
class Circle():
|
||||
radius = float(0)
|
||||
def __init__(self, radius:float) -> None:
|
||||
self.radius = radius
|
||||
|
||||
def get_peimeter(self) -> float:
|
||||
return math.pi * self.radius * 2
|
||||
|
||||
def get_area(self) -> float:
|
||||
return math.pi * (self.radius ** 2)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"radius: {self.radius}\npeimeter: {self.get_peimeter()}\narea: {self.get_area()}\n"
|
||||
|
||||
def main() -> int:
|
||||
cir1 = Circle(3.0)
|
||||
# print(str(cir1))
|
||||
print(f"cir1: peimeter: {cir1.get_peimeter()}")
|
||||
print(f"cir1: narea: {cir1.get_area()}")
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user