马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 heidern0612 于 2018-12-17 10:19 编辑
写心得的过程都是自我思考的过程,借鉴了很多论坛前辈大神们的经验,如有疏漏或错误,恳请指出,不胜感激。
1、关于对象和类的含义:
对象 = 属性(特征)+方法(行为)
类:在python中,把具有相同属性和方法的对象归为一个类(class)
百度百科上说: 对象是对客观事物的抽象,类是对对象的抽象。
第一句怎么理解,因为在计算机的里没有客观事物的,所以只能将这些客观事物做一个抽象,用一些属性和行为表示他们;
第二句怎么理解,这些属性在忽略特定值的情况下,可以将他们化为一类,那么这就是类。
老师讲的东西都比较简单,我就不多介绍了
2、给个借鉴大神的小游戏:
PS:找错误找了一天,卧槽好像哪也没出错啊,来回排查不下十遍,找的眼花...
第二天早上的时候,用IDLE排查,最后发现结尾的print少了个括号...我OOXX个E!
#玩家和电脑猜拳游戏
#选择角色1 小甲鱼 2海顿上校 3 玩家输入的名字
#角色猜拳1剪刀 2石头 3布 玩家输入一个1-3的数字
#电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果,本局对战结果...赢...输,是否继续?
#输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束
import random
class Character(): #定义角色
def __init__(self):
print("-----------野球拳大战-------------\n")
name=""
temp = input("请输入你的大名:")
while True:
game_character = input(f"请选择你的角色:\n\n1--小甲鱼 2--海顿上校 3--{temp}--->:")
if game_character.isdigit():
game_character = int(game_character)
if game_character == 1:
print("玩家角色为---小甲鱼")
self.name = "小甲鱼"
break
elif game_character == 2:
print("玩家角色为---海顿上校")
self.name = "海顿上校"
break
elif game_character == 3:
print(f"玩家角色为---{temp}")
self.name = temp
break
else:
print("----角色选择错误,请重新进行选择----\n")
else:
print("----输入角色有误!请重新输入人物序号----\n")
def pick_up(self): #定义玩家选择
while True:
player_select = input("请输入要出拳的选项:\n1---石头; 2---剪刀; 3---布 :")
if player_select.isdigit():
player_select = int(player_select)
if player_select == 1:
print("玩家选择出---石头", )
break
elif player_select == 2:
print("玩家选择出---剪刀")
break
elif player_select == 3:
print("玩家选择出--- 布")
break
else:
print("选择错误!请重新选择!:",end = " ")
else:
print("输入数字不正确!请重新输入!:",end = " ")
return player_select
class Computer(): #电脑随机出数
def random_select(self):
select_number = random.randint(1,3)
if select_number == 1:
print("电脑选择出---石头")
elif select_number == 2:
print("电脑选择出---剪刀")
else:
print("电脑选择出--- 布")
return select_number
class Progress (): #主程序判断
guesstime1 = 0
guesstime2 = 0
guesstime3 = 0
def __init__(self):
crct = Character()
cmpt = Computer()
while True:
player_result = crct.pick_up()
computer_result = cmpt.random_select()
if (player_result == 1 and computer_result == 2 )or \
(player_result == 2 and computer_result == 3 )or \
(player_result == 3 and computer_result == 1 ):
print("---玩家赢---!")
self.guesstime1 += 1
elif player_result == computer_result:
print("---平局!---")
self.guesstime3 += 1
else:
print("---电脑赢!---")
self.guesstime2 += 1
if input("**********是否继续?(n键退出,任意键继续)**********").lower()=="n":
break
if self.guesstime1 > self.guesstime2:
final_result="玩家胜利!"
elif self.guesstime1 == self.guesstime2:
final_result="平---局!"
else:
final_result ="电脑胜利!"
print("-----------------野球拳大战----------------\n游戏结束 :\n"
f"玩家共赢{self.guesstime1}次---电脑共赢{self.guesstime2}次---平局次数{self.guesstime3}次\n————总结果为 : {final_result}")
gamestart = Progress()
|