python - 使用python的简单骰子游戏的问题
问题描述
我是 python 新手,所以我决定使用 while 循环制作一个简单的骰子游戏,只是为了对自己做一个简单的测试。在游戏中,我使用模块 random 和方法random.randint(1, 6)
打印一个从“1 到 6”的任意值的随机整数,这显然是骰子在现实生活中的运作方式。但是为了使这个游戏成为一个游戏,如果打印的整数是偶数,则打印(random.randint(1, 6) % 2 ==0)
“你赢”。如果整数是奇数,则打印“你输了”。在此之后,控制台询问您是否要再次掷骰子,如果您说是(因此不区分大小写.lower()
),那么它会再次掷骰子并继续循环,但如果您说其他任何内容,则循环中断。
我以为这就是它的工作方式,但是时不时地,当掷出偶数时,会打印“你输了”,而奇数则相反,这不是我认为我编写循环代码要做的事情. 显然我做错了什么。任何人都可以帮忙吗?
这是我的代码:
import random
min = 1
max = 6
roll_again = True
while roll_again:
print(random.randint(min, max))
if random.randint(min, max) % 2 == 0:
print('you win')
else:
print('you lose')
again = input('roll the dice? ').lower()
if again == ('yes'):
continue
else:
print('ok')
break
解决方案
您正在生成一个随机数两次,打印的数字与您在 if 条件中检查的数字不同。
您可以将生成的数字保存在这样的变量中,以检查您的代码是否工作正常:
import random
min = 1
max = 6
roll_again = True
while roll_again:
number = random.randint(min, max)
print(number)
if number % 2 == 0:
print('you win')
else:
print('you lose')
again = input('roll the dice? ').lower()
if again == ('yes'):
continue
else:
print('ok')
break
推荐阅读
- java - 从 Spring Web Reactive Framework 中的 Flux 中检索 Java.Util.List
- draw.io - 有没有办法使用环境变量而不是通过 Draw.io 的 URL 参数来强制 local=1?
- r - 识别符合两个条件的行
- c++ - 如何修复 Xcode 中的“sh: brew: command not found”?
- reactjs - 我是在使用 NEW 上下文 API 还是在使用 Redux?
- imagemagick - ImageMagick 转换乱序
- elasticsearch - 弹性搜索索引仅可搜索字段
- react-select - 使用非多异步时,是否有用于在退格键上删除的 React-Select 道具?
- spring - RequestParam 的 Spring 验证错误
- authentication - 我们如何在 google puppeteer 的 headless chrome 中传递身份验证令牌?