猜水果游戏题目如下:
猜水果之面向过程编程题目:
'''
猜水果系统
规则:
("1.猜题游戏一共有10个题,每个题10分,共一百分")
("2.您在这个游戏中可以猜测10次,不管您答对还是答错,都会消耗猜测的次数")
("3.每道题目开始时,系统都会提示是否使用锦囊,一共有三次的锦囊机会(锦囊一共有三种 ,并且可以重复选择!)。同时,锦囊不算在猜测的次数中。")
("4.锦囊包括:1.提示水果第一个字。2.提示水果第二个字3.这个水果的字数")
("5.游戏可以提前结束")
a = ['西瓜', '梨子', '香蕉', '核桃', '苹果', '桃子', '花生', '石榴', '西瓜', '梨子']
b = ['绿色的,红心', '配冰糖,暖到心', '弯弯的月儿小小的船,小小的船儿两头尖', '皱肉皱骨头, 骨头生在肉外头。', '乔布斯', '胖娃娃,没手脚,红尖嘴,一身毛,背上一道沟,肚里好味道。',
'青藤藤,开黄花,地上开花不结果,地下结果不开。,', '小小红坛子,装满红饺子,吃掉红饺子,吐出白珠子。', '绿色的,红心', '配冰糖,暖到心']
'''
使用面向过程编写代码:我就不写注释了,比较简单,使用面向对象代码编写的代码,我加了一些注释,包含这个代码的。
a = ['西瓜', '梨子', '香蕉', '核桃', '苹果', '桃子', '花生', '石榴', '西瓜', '梨子']
b = ['绿色的,红心', '配冰糖,暖到心', '弯弯的月儿小小的船,小小的船儿两头尖', '皱肉皱骨头, 骨头生在肉外头。', '乔布斯', '胖娃娃,没手脚,红尖嘴,一身毛,背上一道沟,肚里好味道。',
'青藤藤,开黄花,地上开花不结果,地下结果不开。,', '小小红坛子,装满红饺子,吃掉红饺子,吐出白珠子。', '绿色的,红心', '配冰糖,暖到心']
import random
change=10 #定义猜的机会
right=0 #定义猜对的题数
add=3 #定义锦囊次数
print("这是一个猜题游戏,你一共有10次机会")
print("游戏开始")
while change:
print("你现在还有%d次机会"%change)
random_number=random.randint(1, len(b)-1)
print("请听题")
print(b[random_number])
print("请问:这道题所描述的水果是:")
print("你还有%d次机会使用锦囊"%(add))
if add>0:
kit = input("系统提示:是否使用锦囊,输入yes或者no")
while True:
if kit=="yes":
print("这里有三个锦囊:1.提示水果第一个字。2.提示水果第二个字3.这个水果的字数")
while True:
number = eval(input("请输入你要数字选择你要哪一个锦囊"))
if number==1:
print("提示")
print(a[random_number][0:1])
add-=1
break
elif number==2:
print("提示")
print(a[random_number][1:2])
add-=1
break
elif number==3:
print("提示")
print(len(a[random_number]))
add-=1
break
else:
print("输入错误")
break
elif kit=="no":
break
else:
print("输入错误")
break
result=input("请输入你要猜的水果")
if result == a[random_number]:
print("恭喜你猜对了")
right+=1
else:
print("很遗憾,你猜错了")
print("游戏可以提前结束")
gameover=input("你需要结束游戏请输入exit")
if gameover=="exit":
print("游戏结束中")
break
else:
if change==1:
print("游戏结束")
else:
print("游戏继续进行")
change-=1
print("你答对%d道题"%right)
猜水果之面向对象编程题目:
'''
a = ['西瓜', '梨子', '香蕉', '核桃', '苹果', '桃子', '花生', '石榴', '西瓜', '梨子']
b = ['绿色的,红心', '配冰糖,暖到心', '弯弯的月儿小小的船,小小的船儿两头尖', '皱肉皱骨头, 骨头生在肉外头。', '乔布斯', '胖娃娃,没手脚,红尖嘴,一身毛,背上一道沟,肚里好味道。',
'青藤藤,开黄花,地上开花不结果,地下结果不开。,', '小小红坛子,装满红饺子,吃掉红饺子,吐出白珠子。', '绿色的,红心', '配冰糖,暖到心']
1.定义一个游戏类
2.定义对象属性:
游戏者的名字
控制游戏开始的属性
控制锦囊次数的属性
控制游戏次数的属性
控制分数的属性
3.定义类属性
定义一个最高分类属性
4.定义方法
锦囊方法
游戏方法
注意:游戏方法调用锦囊方法
5.能够几个人玩,并且能计算出最高分的姓名与最高分
'''
使用面向对象封装编写代码:
class Play:
a = ['西瓜', '梨子', '香蕉', '核桃', '苹果', '桃子', '花生', '石榴', '西瓜', '梨子']
b = ['绿色的,红心', '配冰糖,暖到心', '弯弯的月儿小小的船,小小的船儿两头尖', '皱肉皱骨头, 骨头生在肉外头。', '乔布斯', '胖娃娃,没手脚,红尖嘴,一身毛,背上一道沟,肚里好味道。',
'青藤藤,开黄花,地上开花不结果,地下结果不开。,', '小小红坛子,装满红饺子,吃掉红饺子,吐出白珠子。', '绿色的,红心', '配冰糖,暖到心']
score_max = 0 #设置默认最高分为0
name_max = "nobody" #设置默认最高分的姓名为None
def __init__(self): #变量初始化
self.change = 10 #设置一共10次机会
self.score = 0 #设置分数为0
self.add = 3 #设置锦囊的机会为三次
self.number = -1 #设置锦囊选项
def play_user(self, name):
self.name = name #录入姓名
def play_go(self, isgo):
if isgo == "True": #定义游戏开始
return True
else:
return False
def play_times_change(self): #使用一次锦囊机会少一次
self.add = self.add - 1
def play_change_change(self): #游戏机会使用一次少一次
self.change = self.change - 1
def play_score_change(self): #答对一道题得10分
self.score = self.score + 10
def play_score_max(self, score): #寻找最高分
if score >= self.score_max:
self.score_max = score
self.name_max = self.name
def print(self): #打印最高分姓名及最高分
return "最高分:{} 姓名:{}".format(self.score_max, self.name_max)
def Secret_method(self, random_number): #定义锦囊策略
while True:
kit = input("请输入yes选择锦囊,输入no不适用锦囊")
if kit == "yes":
print("这里有三个锦囊:1.提示水果第一个字。2.提示水果第二个字3.这个水果的字数")
while True:
self.number = eval(input("请输入你要数字选择你要哪一个锦囊"))
if self.number == 1: #第一种提示
print("提示")
play.play_times_change()
return play.a[random_number][0:1]
elif self.number == 2: #第二种提示
print("提示")
play.play_times_change()
return play.a[random_number][1:2]
elif self.number == 3: #第三种提示
print("提示")
play.play_times_change()
return len(play.a[random_number])
else: #输入错误,不跳出循环
print("输入错误")
elif kit == "no":
return "不使用"
else:
print("输入错误")
if __name__ == '__main__': #主方法
import random
play = Play()
for i in range(int(input("请输入数字代表几个人玩"))): #让玩家选择几个人玩
print("这是一个猜题游戏,你一共有10次机会")
play.name = input("请输入你的姓名")
if play.play_go(input("如果开始游戏请输入True")): #判断是否进入游戏
while play.change:
print("你现在还有%d次机会" % play.change)
random_number = random.randint(1, len(play.b) - 1)
print("请听题")
print(play.b[random_number])
print("请问:这道题所描述的水果是:")
print("你还有%d次机会使用锦囊" % (play.add))
if play.add > 0:
print(play.Secret_method(random_number))
result = input("请输入你要猜的水果")
if result == play.a[random_number]:
print("恭喜你猜对了")
play.play_score_change()
else:
print("很遗憾,你猜错了")
print("游戏可以提前结束")
gameover = input("你需要结束游戏请输入exit")
if gameover == "exit":
print("游戏结束中")
break
else:
print("游戏继续进行")
play.play_change_change()
print("%s得了%d分" % (play.name, play.score))
play.play_score_max(play.score)
play.__init__() #每一个人玩完便可初始化变量
else:
print("游戏结束")
print(play.print()) #打印最高分姓名及最高分