通过将while转换为do-while来缩短python中的骰子匹配游戏[重复]
Posted
技术标签:
【中文标题】通过将while转换为do-while来缩短python中的骰子匹配游戏[重复]【英文标题】:Shortening the dice-matching game in python by converting a while to a do-while [duplicate] 【发布时间】:2017-09-01 20:35:19 【问题描述】:以下程序按预期工作。它首先打印一个字符串,然后将 3 个变量分配给 3 个单独的整数。使用这些整数,它会检查第三个整数是否不等于第一个整数加上第二个整数。如果前两个整数相加后不等于第三个整数,程序会打印出所有三个整数,然后重复分配整数并继续,直到前两个整数等于加在一起的第三个整数。例如:6 + 6 = 12 或 3 + 3 = 10
from __future__ import print_function
import random
print("HERE COMES THE DICE!")
r1 = random.randint(1,6)
r2 = random.randint(1,6)
total = r1 + r2
while r1 != r2:
r1 = random.randint(1,6)
r2 = random.randint(1,6)
total = r1 + r2
print("Roll #1: ".format(r1))
print("Roll #2: ".format(r2))
print("The total is !".format(total))
我目前在使用这个程序时遇到的问题是如何通过将 while 循环转换为 do-while 循环来缩短它。我了解 Java 中的 do-while 循环,但对 Python 版本一无所知。
【问题讨论】:
python 中没有do-while
。这就是while
是
@Ev.Kounis 我认为有一种方法可以在 python 中模拟或模拟 do-while
@RichardGreen 如果你觉得是,请投票结束这个问题,我会这样做
【参考方案1】:
Python 没有 do while 循环,因此最接近模拟它的方法是更改它:
while r1 != r2:
[...]
变成这样:
while True:
[...]
if r1 != r2:
break
【讨论】:
以上是关于通过将while转换为do-while来缩短python中的骰子匹配游戏[重复]的主要内容,如果未能解决你的问题,请参考以下文章
题目1194:八进制----------------------进制转换用do-while就OK了
Do-While 循环,但 while 语句的值在 Do 语句内