20222208 实验一《Python程序设计》实验报告

本文是一份《Python程序设计》课程的实验报告,介绍了学生如何配置Python开发环境(包括PyCharm的汉化)、编写打手背游戏并实践调试技巧,以及在实验中遇到的git配置和编码问题及其解决方案。
摘要由CSDN通过智能技术生成

20222208 2023-2024-2 《Python程序设计》实验1报告

课程:《Python程序设计》
班级: 2222
姓名: 居里
学号:20222208
实验教师:王志强
实验日期:2024年3月19日
必修/选修: 公选课

1.实验内容

1.熟悉Python开发环境;

2.练习Python运行、调试技能;

3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;

4.掌握git技能(可把猜数字游戏上传到gitee)

2. 实验过程及结果

1.首先,对pycharm进行一个初步了解,我们从基本配置开始。
由于大部分配置都较为基础,我们这边主要分享一下如何汉化。
从路径“File” --> “Settings” --> “Plugins”,搜索Chinese的汉化插件,安装后即可。

2.接着,我们写出打手背的代码如下:

import random

def player_A_turn():
    action = input("A请选择出手(输入's')或者吓唬(输入'f'): ")
    return action

def player_B_turn():
    return random.choice(['d', 'n'])

def play_round(player_A_action, player_B_action):
    if player_A_action == 's':
        if player_B_action == 'd':
            return 'B'
        else:
            return 'A'
    elif player_A_action == 'f':
        if player_B_action == 'd':
            return 'A'
        else:
            return 'B'
    elif player_A_action == 'd':
        if player_B_action == 's':
            return 'A'
        else:
            return 'B'
    elif player_A_action == 'n':
        if player_B_action == 's':
            return 'B'
        else:
            return 'A'

def print_result(winner, player_A_score, player_B_score, player_B_action):
    if winner == 'A':
        print("A赢了这一局!")
    else:
        print("B赢了这一局!")
    print("B选择了:", player_B_action)
    print("当前比分:A {} - {} B".format(player_A_score, player_B_score))

def play_game():
    player_A_score = 0
    player_B_score = 0
    player_A_starts = True

    print("欢迎来到打手背游戏!首先达到4分者获胜。")

    while player_A_score < 4 and player_B_score < 4:
        if player_A_starts:
            player_A_action = player_A_turn()
            player_B_action = player_B_turn()
        else:
            player_B_action = random.choice(['s', 'f'])
            player_A_action = input("A请选择躲避(输入'd')或者不躲避(输入'n'): ")

        winner = play_round(player_A_action, player_B_action)
        if winner == 'A':
            player_A_score += 1
        else:
            player_B_score += 1

        print_result(winner, player_A_score, player_B_score, player_B_action)

        if winner == 'A':
            player_A_starts = True
        else:
            player_A_starts = False

    if player_A_score == 4:
        print("\n恭喜!A获胜!")
    else:
        print("\n很遗憾,B获胜!")

if __name__ == "__main__":
    play_game()

 运行程序如下: 

3.我们可以使用debug进行调试:

在这个过程中,我们通过插入断点、单步调试等操作可以直接看到每局的输赢情况和选择情况。

4.将代码托管到gitee

我的git地址:仓库 - 居里 (dkyercurie) - Gitee.com

仓库地址:test.py · 居里/2024,我的第一个git - 码云 - 开源中国 (gitee.com)

 3. 实验过程中遇到的问题和解决过程

问题1:git报错Successfully created project ‘*****’ on Gitee, but initial commit failed

问题1解决方案:是git没有配置的原因,找到git安装目录下的Git Bash运行后输入下面两行代码即可:

git config --global user.name “GitHub账号”

git config --global user.email “GitHub账号注册的邮箱”

问题2:调试时出现乱码,也就是在上面提到的中文编码的乱码问题

问题2解决方案:打开File——>Setting——>Editor——>File Encodings将配置改为下图


4.一些感悟和思考

首先是关于汉化的问题。汉化之后固然是方便了一些使用,但是遇到部分报错问题时我会更懵,而且在查找资料时候也会出现资料中的英文不知道对应什么地方。汉化的插件有利有弊,合理灵活使用吧。
其次就是关于问题的解决,询问别人固然是一种解决办法,但是自己查找资料也更能加深印象。

  • 35
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值