我正在尝试制作一个 RNG 游戏,在其中滚动 python 语句。我应该有一个获得 RNG 的特殊机会。如果我编写任何超过 3 个 rng 的代码,则只会显示 3 个输入。 我该如何解决?
import random
print("roll.")
rollwork = 1
while rollwork == 1:
rolluse = input ("you rolled.")
if rolluse in ("R", "r"):
chance = (random.randint(1,100))
if chance < 40:
if rollelif == 1:
print("You've rolled a DUPLICATE ELIF STATEMENT!!")
else:
print("You've rolled an ELIF statement!")
rollelif = 1
elif chance < 70:
if rolltime == 1:
print("You rolled a DUPLICATE IMPORT TIME!")
else:
print("You've rolled IMPORT TIME with a chance of 70%!")
codestats + 2
rolltime = 1
elif chance < 90:
if rollprint == 1:
print("You rolled a DUPLICATE PRINT!")
else:
print("You rolled PRINT with a chance on 90%")
rollprint + 1
elif chance < 30:
if rollprint == 1:
print("You've rolled a DUPLICATE Tkinter")
else:
print("You rolled Tkinter with a chance of 30%!")
我明白你想做的事情。你想限制你的 RNG 游戏,这样玩家在给定时间段内最多只能“滚动”(生成)三个 Python 语句。但是,你的代码中并没有真正限制语句生成的次数;它只是检查是否重复生成了语句。
以下是如何使用最多三个“滚动”次数来重构你的代码的方法:
import random
print("滚动吧!")
语句 = [
"You've rolled an ELIF statement!",
"You've rolled IMPORT TIME with a chance of 70%!",
"You rolled PRINT with a chance on 90%!",
"You rolled Tkinter with a chance of 30%!"
]
已滚动语句 = []
滚动次数 = 3
while 滚动次数 > 0:
rolluse = input("你滚动到:")
if rolluse.lower() == "r":
if len(已滚动语句) < len(语句):
随机语句 = random.choice(语句)
while 随机语句 in 已滚动语句: # 避免在 3 次滚动内重复
随机语句 = random.choice(语句)
print(随机语句)
已滚动语句.append(随机语句)
else:
print("你已经滚动过所有可能的唯一语句了!")
滚动次数 -= 1
else:
print("输入 'r' 进行滚动。")
print("没有更多的滚动次数了!")
在这个改进后的代码中:
-
我们创建了一个
语句
列表来存储所有可能的 Python 语句。 -
已滚动语句
跟踪已经滚动过的语句以避免在 3 次滚动限制内重复。 -
我们设置了
滚动次数 = 3
,并在每次滚动时递减。 -
while
循环现在在滚动次数
大于 0 时继续。 - 我们添加了一个检查,以确保如果所有语句都已滚动,我们不会陷入无限循环中。
现在,此代码将允许玩家只滚动三次,并且每次滚动都会生成一个随机的 Python 语句。如果玩家在滚动三次之前滚动到相同的语句,则代码将生成一条不同的语句,确保在三个滚动内不会重复。祝你的 RNG 游戏顺利!
标签:python From: 78780569