前言
24点游戏是经典的纸牌益智游戏。
常见游戏规则:
从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。
基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式。
1.程序风格良好(使用自定义注释模板)
2.列出表达式无重复。
提高要求:用户初始生命值为一给定值(比如3),初始分数为0。随机生成4个代表扑克牌牌面的数字或字母,由用户输入包含这4个数字或字母的运算表达式(可包含括号),如果表达式计算结果为24则代表用户赢了此局。
1. 程序风格良好(使用自定义注释模板)
2.使用计时器要求用户在规定时间内输入表达式,如果规定时间内运算正确则加分,超时或运算错误则进入下一题并减少生命值(不扣分)。
3.所有成绩均可记录在TopList.txt文件中。。
一、要实现的功能
1. 24点挑战:玩家有三次机会,答错或者超时都会扣除一次机会,答对则加一分
2. 24点计算器:输入四个数,则可以得到所有的24点计算方法
3. 退出程序
二、实现代码
1.具体代码如下
import random
import time
def playgame() :
print("1.24点挑战")
print(" 规则: 如果无解,请输入no;如果有解,请输入答案 每道题你有 60 秒 的答题时间")
print(" 如果你超时并且回答错误,则扣除2次答题机会")
print("2.24点计算器")
print("3.退出")
def oper() :
'''将四个运算符取出三个进行排列'''
operators = ['+', '-', '*', '/']
temp = []
opers = []
for j in operators:
for k in operators:
for l in operators:
temp.append(j + k + l)
opers = temp.copy()
return opers
def permute(numbers):
'''将四个数进行排列'''
if len(numbers) == 1:
return [numbers]
x = []
for i in range(len(numbers)):
y = numbers[i]
remain = numbers[:i] + numbers