Python语言程序设计--实践教程--实验六(20题)

题目

20.假设列表 lst_suit=["黑桃","红桃","梅花","方块"],存放了扑克牌的花色。列表Ist face =['3','4','5’,6'’,'7’,8’,9’,10,,Q,K,A,2],存放了扑克牌的牌面大小,其元素已按照牌面大小升序排列。试编写程序,完成以下功能。
(1)利用列表生成式,将以上两个列表进行元素搭配,生成一个新的列表1st,存放所有牌面(不考虑大小王)。新列表 1st 的内容为["3 黑桃”,"3 红桃","3 梅花","3 方块”,"4黑桃""4 红桃”,"4梅花","4 方块",…,"A 黑桃","A 红桃","A 梅花”,"A 方块","2 黑桃”,"2 红桃”"2 梅花","2 方块”]。
(2)使用random库的shufle函数将列表 lst 中的元素次序打乱。
(3)用户与计算机进行“抽牌比大小”游戏。游戏规则如下。
①用户输入序号(范围为0~51),程序根据序号在列表1st中读取牌面。                                            ②)计算机抽牌由程序自动完成(通过random库的randint()函数随机生成序号。                                  ③)将用户抽取的牌面与计算机抽取的牌面进行大小比较(不考虑花色),并将结果输出。三种输出内容对照如下:
“恭喜,您赢了!”
“很遗憾,您输了!”
“咱们平手了!”

参考代码

import random
lst_suit=["黑桃","红桃","梅花","方块"]
lst_face =['3','4','5','6','7','8','9','10','J','Q','K','A','2']
lst = []
for i in lst_face:
    for j in lst_suit:
        a=i+j
        lst.append(a)
print('(1)',lst)
random.shuffle(lst)
print("(2)打乱后:{}".format(lst))
a = eval(input("(3)请输入0-51的序号:"))
n = lst[a][0]
c = random.randint(0,51)
m = lst[c][0]
b =lst_face.index(n)
d = lst_face.index(m)
if a>52:
    print("输入错误!")
elif b==d:
    print("您的牌是:{},计算机的牌是:{},咱们平手了!".format(lst[a],lst[c]))
elif b>d:
    print("您的牌是:{},计算机的牌是:{},恭喜,您赢了!".format(lst[a],lst[c]))
elif b<d:
    print("您的牌是:{},计算机的牌是:{},很遗憾,您输了!".format(lst[a],lst[c]))

运行结果 

(1) ['3黑桃', '3红桃', '3梅花', '3方块', '4黑桃', '4红桃', '4梅花', '4方块', '5黑桃', '5红桃', '5梅花', '5方块', '6黑桃', '6红桃', '6梅花', '6方块', '7黑桃', '7红桃', '7梅花', '7方块', '8黑桃', '8红桃', '8梅花', '8方块', '9黑桃', '9红桃', '9梅花', '9方块', '10黑桃', '10红桃', '10梅花', '10方块', 'J黑桃', 'J红桃', 'J梅花', 'J方块', 'Q黑桃', 'Q红桃', 'Q梅花', 'Q方块', 'K黑桃', 'K红桃', 'K梅花', 'K方块', 'A黑桃', 'A红桃', 'A梅花', 'A方块', '2黑桃', '2红桃', '2梅花', '2方块']
(2)打乱后:['10黑桃', 'Q黑桃', '3红桃', '2黑桃', 'Q方块', '5方块', '9红桃', '9方块', '5梅花', '6梅花', 'A方块', 'K红桃', '8红桃', '10梅花', '4黑桃', '5红桃', '4梅花', 'A黑桃', '5黑桃', '2梅花', '6方块', '6红桃', '8方块', '4红桃', '4方块', 'J方块', '3梅花', '7红桃', '10红桃', '9黑桃', 'Q红桃', 'K黑桃', '8黑桃', '3黑桃', '8梅花', '9梅花', 'J红桃', '10方块', '7梅花', 'Q梅花', '2红桃', 'J黑桃', '7黑桃', 'J梅花', '2方块', 'K方块', 'A红桃', '7方块', '3方块', 'A梅花', 'K梅花', '6黑桃']
(3)请输入0-51的序号:27
您的牌是:7红桃,计算机的牌是:A梅花,很遗憾,您输了!

说明

此方法仅供学习参考,欢迎讨论

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python语言程序设计实践教程实验七主要涉及到Python的面向对象编程,包括类的定义、继承、多态等内容。实验七的具体内容包括: 1. 定义一个类,包含属性和方法。 2. 定义一个子类,继承父类的属性和方法,并添加自己的属性和方法。 3. 实现多态,即在子类中重写父类的方法。 4. 使用类的实例进行操作,包括属性的访问和方法的调用。 通过实验七的学习,可以更深入地了解Python的面向对象编程思想,掌握类的定义和继承,以及多态的实现方法。这对于进一步学习Python编程和开发具有重要的意义。 ### 回答2: 本次实验是Python语言程序设计实践教程中的第七个实验,主要涉及到Python中的GUI编程和图形用户界面设计。实验中需要使用Python的Tkinter库来实现一个简单的图形界面程序。 首先,我们需要了解Tkinter库的基本使用方法,可以查看相关的教程资料来学习。实验中要求我们实现一个图形界面程序,包含三个功能:文件选择、文件预览和文件上传。通过Tkinter库中的组件来实现这三个功能,如文件选择按钮、文本框、按钮等。 在实验中,我们需要用到Python的os模块来获取文件路径和文件名,使用Tkinter中的Text组件来实现文件预览功能。具体可以参考实验指导书中的代码实现。 对于文件上传功能,我们需要使用Python的requests库来实现文件上传操作。在实验中,需要提供一个上传文件的接口URL,并将接口返回的数据在界面中显示出来。 在实验完成后,需要进行测试和调试以确保程序能够正常运行。建议使用真实的文件进行测试,以便更好的了解程序的实际使用情况。 通过这次实验,我们可以掌握Python中GUI编程和图形用户界面设计的基本方法,并且熟练使用Tkinter和requests库来实现文件选择、文件预览和文件上传的功能。这对我们今后进行Python编程和开发会有一定的帮助。 ### 回答3: Python语言程序设计实践教程实验七主要涉及到面向对象的知识,在本次实验中,我们需要创建一个烤鱼店的点餐系统。该系统需要实现以下几个功能: 1. 顾客可以查看菜单,选择自己想要的菜品进行点餐。 2. 店家可以更新菜单,添加、删除菜品。 3. 顾客可以选择结账方式,现金或支付宝等。 4. 店家可以生成账单,列出客人点的菜品和价格,并计算总金额。 在实现上述功能的过程中,我们需要定义一系列类来描述不同的对象。例如,我们可以定义一个Dish类来描述鱼的信息,包括名称、价格、描述等属性。我们可以定义一个Customer类来描述顾客,包括姓名、电话等信息。另外,我们还需要定义一个Menu类来存储餐厅的菜单信息。这些类可以通过面向对象的方式来实现,使我们能够更加方便地对对象进行操作。 在实验中,我们需要实现以下几个Python文件: 1. dish.py:该文件包含Dish类的定义和实现。该类包含了鱼的各种属性和方法。 2. customer.py:该文件包含Customer类的定义和实现。该类包含了顾客的各种属性和方法。 3. menu.py:该文件包含Menu类的定义和实现。该类包含了菜单的各种属性和方法。其中包括添加、删除、修改等方法。 4. order.py:该文件包含Order类的定义和实现。该类用来描述订单信息,包括菜品、顾客和账单等信息。其中还包括查询、结账等方法。 5. restaurant.py:该文件包含Restaurant类的定义和实现。该类用来启动整个系统,包括创建菜单、添加顾客等操作。同时,该类还包括了所有菜品和订单的信息。 在实验中,我们可以通过调用各个类中的方法来实现上述功能。在编写代码的过程中,我们需要充分利用面向对象的特性,尽量避免代码重复和冗余,并尽可能提高代码的可读性和可维护性。 总之,Python语言程序设计实践教程实验七是一个综合性的实验,需要广泛运用面向对象的知识和技巧。通过本次实验,我们可以更好地理解和掌握Python语言的特点和优势,提高我们的编程能力和技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值