麻将胡牌检测程序:递归算法与字符串转换

版权申诉
0 下载量 83 浏览量 更新于2024-10-05 收藏 33KB RAR 举报
资源摘要信息:"该压缩文件包含了一个关于麻将胡牌判断的小程序,程序设计采用了递归算法作为主要逻辑。在麻将游戏中,胡牌是玩家取得胜利的条件之一,通常需要满足一定的牌型组合。本程序的核心功能是根据用户输入的手牌和临时牌,判断是否能够形成合法的胡牌牌型。 在描述中提到的“从格子输入一个字符串代表麻将牌”,意味着用户需要按照特定格式输入自己的手牌信息。递归算法是一种在解决问题时,自我调用直至满足基本情况的算法。在麻将胡牌算法中,递归可能被用于检查所有可能的牌型组合,以确定是否存在合法的胡牌方式。 麻将牌型组合包括但不限于:顺子(一种连续的三个相同的花色牌)、刻子(三个相同的牌)、对子(两个相同的牌),以及特殊的胡牌牌型,如七对子、十三幺等。程序需要能够识别这些基本组合,并通过递归的方式检查所有可能的牌型组合,以判断是否存在合法的胡牌。 程序还涉及字符串转换技术,这可能是因为在程序中需要将用户输入的字符串转换成可操作的数据结构,以便进行后续的牌型判断。排列算法也被使用,因为需要将手牌按照一定的顺序排列,以便于检查胡牌的合法性。 描述中还给出了麻将牌的编号规则,例如“11-19万”、“21-29筒”、“31-39条”、“41-44黑风”和“51-53彩字”,这些编号规则有助于程序理解和处理不同的麻将牌花色和数值。 总结来说,这个资源包中的程序是一个学习型工具,可以帮助用户通过实际编写和运行代码来理解递归算法以及麻将胡牌的规则。通过对程序的使用和分析,用户不仅能够学习到麻将胡牌的判断逻辑,还能加深对递归算法以及字符串和数组操作的理解。"

Namespace(weights='yolo7.pt', cfg='cfg/training/yolov7.yaml', data='data/DOTA_split.yaml', hyp='data/hyp.scratch.p5.yaml', epochs=10, batch_size=4, img_size=[640, 640], rect=False, resume=False, nosave=False, notest=False, noautoanchor=False, evolve=False, bucket='', cache_images=False, image_weights=False, device='', multi_scale=False, single_cls=False, ada m=False, sync_bn=False, local_rank=-1, workers=8, project='runs/train', entity=None, name='exp', exist_ok=False, quad=False, linear_lr=False, label_smoothing=0.0, upload_dataset=False, bbox_interval=-1, save_period=-1, artifact_alias='latest', freeze=[0], v5_metric=False, world_size=1, global_rank=-1, save_dir='runs\\train\\exp2', total_batch_size=4) tensorboard: Start with 'tensorboard --logdir runs/train', view at http://localhost:6006/ hyperparameters: lr0=0.01, lrf=0.1, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.3, cls_pw=1.0, obj=0.7, obj_pw= 1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.2, scale=0.9, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.15, copy_paste=0.0, paste_in=0.15, loss_ota=1 Traceback (most recent call last): File "D:\Documents\Desktop\YOLO_suanfa\yolov7-main\train.py", line 618, in <module> train(hyp, opt, device, tb_writer) File "D:\Documents\Desktop\YOLO_suanfa\yolov7-main\train.py", line 64, in train data_dict = yaml.load(f, Loader=yaml.SafeLoader) # data dict File "D:\Documents\Desktop\YOLO_suanfa\yolov7-main\venv\lib\site-packages\yaml\__init__.py", line 79, in load loader = Loader(stream) File "D:\Documents\Desktop\YOLO_suanfa\yolov7-main\venv\lib\site-packages\yaml\loader.py", line 34, in __init__ Reader.__init__(self, stream) File "D:\Documents\Desktop\YOLO_suanfa\yolov7-main\venv\lib\site-packages\yaml\reader.py", line 85, in __init__ self.determine_encoding() File "D:\Documents\Desktop\YOLO_suanfa\yolov7-main\venv\lib\site-packages\yaml\reader.py", line 124, in determine_encoding self.update_raw() File "D:\Documents\Desktop\YOLO_suanfa\yolov7-main\venv\lib\site-packages\yaml\reader.py", line 178, in update_raw data = self.stream.read(size) UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 233: illegal multibyte sequence

2023-07-15 上传