You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现while循环内星号随弹珠数量逐次递减显示

Python弹珠计数星号递减实现方案

你现有代码中星号固定输出10个的原因是print(marble_dots[:10])写死了切片长度,只需要将切片终止值替换为当前剩余弹珠的变量marbles即可实现同步递减效果。

修改后的完整代码

#!/usr/bin/env python3

marbles = 10  # 初始持有10颗弹珠
marble_dots = "**********" # 星号对应10颗弹珠

while (marbles > 0):
   # 切片长度随当前弹珠数动态变化
   print(marble_dots[:marbles])

   # 输出剩余弹珠数,需要将数字类型的marbles转为字符串
   print("你还有 " + str(marbles) + " 颗弹珠。")

   if (marbles < 4):
       print("警告:你的弹珠快用完了!")

   # 等价于 marbles = marbles - 1,每次循环减少1颗弹珠
   marbles -= 1

   # 输出空行分隔每次循环的内容
   print("")

更灵活的可选写法

你也可以不用提前定义固定长度的星号字符串,直接在输出时动态生成对应数量的星号,哪怕后续修改初始弹珠数也不用调整星号字符串长度:

# 把print(marble_dots[:marbles])替换为以下写法即可
print('*' * marbles)

内容的提问来源于stack exchange,提问作者jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:54:03