蓝桥等考python10级(飞行棋)

文章描述了一个飞行棋游戏的过程,涉及骰子投掷、棋子移动(遵循特定的前进后退规则),并提供了计算棋子最终在棋盘上位置的算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

飞行棋
题目描述:
飞行棋的棋盘由一个个小格组成,每个小格都标有序号,起点是0,后面每个格的数字递增1,如下图所示。

骰子是一个立方体,可以生成1~6的随机点数。游戏中,玩家打出的点数,就是棋子接下来要走的步数。

棋子每走完一次,如果落在个位数字是4的格子里,就要再前进1步;如果落在个位数字是8的格子里,就要后退2步。
用一个字符串表示某位玩家连续几次掷骰子的结果,字符串中的每个字符都是1~6的数字,棋子从起点出发,按每次掷骰子的结果,依次向前移动相应
步数,并按游戏规则前进或后退。请计算出棋子最后在哪个格子里。
例如:
玩家连续3次掷骰子的结果是“352”,他的棋子要走3次:
1.从“0”开始,走3步,到“3”;
2.从“3”开始,走5步,到“8”,后退2步,到“6”;
3.从“6”开始,走2步,到“8”,后退2步,到“6”。
棋子最后在序号为6的格子里。
注意:
假设这名玩家完成所有操作后,棋子还没到棋盘终点。
输入:
一个字符串,只包含1~6的数字,每个数字代表一次掷骰子的结果。
输出:
一个整数,表示棋子最后所在的格子序号。
输入样例1:
352

输出样例1:
6
输入样例2:
461
输出样例2:
12

参考答案:

s = input()
pos = 0
for i in s:
    pos += int(i)
    if pos % 10 == 4:
        pos += 1
    if pos % 10 == 8:
        pos -= 2
print(pos)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值