docs: 2026-03-24作业_python文件

This commit is contained in:
2026-03-30 20:07:49 +08:00
parent 8f86474ad7
commit 8fc93fcc0e
3 changed files with 117 additions and 0 deletions

View 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()

View 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()

View 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()