python 逢七必过小游戏

“喝酒猜拳逢七必过”是一个有趣的聚会小游戏,以下是它的基本规则:

- **参与人数**:

一般建议3人及以上参与,人数越多越有趣。

- **游戏规则**:

- 所有人围坐成一圈,从某个玩家开始依次报数。 - 报数时,每逢7的倍数(如7、14、21等)或者包含7的数字(如17、27、37等),玩家不能说出这个数字,而要喊“过”。 - 如果有人报错数或者没有及时喊“过”,则要接受惩罚,通常是喝一杯酒或者表演一个节目。然后从报错数的玩家重新开始报数,继续游戏。 这个游戏可以锻炼玩家的反应能力和注意力,同时在喝酒聚会等场合能增加欢乐氛围。

以下代码是实现

#1到100逢七必过
for i in range(1,101):
    #能被七整除的数字
    if i % 7 == 0:
        print("过")
    #被10地板除后结果为7,例如71
    elif i // 10 == 7:
        print("过")
    #被10除后余数为7
    elif i % 10 == 7:
        print("过")
    else:
        print(i)

主要思路就是利用for循环遍历1~100范围内符合条件的数字,使用if语句添加条件

1.能被七整除 2.被10地板除后结果为七 3.余数为7的数

施加三种条件后得到的就是完美结果。

知识扩展:

地板除

数学定义a // b = 最大的整数 q 使得 q ≤ a / b

举例:7 / 2 = 3.5

          7 // 2 =3

另一种思路:

for i in range(1,100):
    #能被七整除的数字
    if i % 7 == 0:
        print("过")
    #包含7的数字
    elif '7' in str(i):
        print("过")
    else:
        print(i)

条件直接使用规则中直白的条件,除去7的倍数,再就是包含7的数字。

还可以使用函数进行封装

def seven_pass_game(end_num):
    for num in range(1, end_num + 1):
        output = "过" if num % 7 == 0 or '7' in str(num) else str(num)
        print(output, end=' ')
        if num % 10 == 0:  # 每10个换行
            print()

seven_pass_game(200)

知识扩展:

三元运算符   a  if   条件控制   else   b

满足条件走左边的a   ,不满足条件走右边的b

使用for循环,也可以使用列表生成式

res = ["过" if i % 7 == 0 or "7" in str(i) else str(i) for i in range(1,101)]
    print(",".join(res))

知识扩展:

列表生成式(列表推导式)

[   ------   for    i   in     ---------   ]

for 前面的条件可以随意更改

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值