python - 重新运行代码,直到获得特定的输出

标签 python loops random equation

我想运行一个脚本,可以使任何数学方程成立(当然不是任何一个,而是一些),并说我想求解这个数学方程a + b = c。我生成了 A、B 和 C 的数字,直到生成正确的数字:1 + 2 = 3。我该怎么做?

import random 

numberA = random.randrange(50,100) #the range doesn't matter it could be whatever
numberB = random.randrange(50,100)
numberC = random.randrange(50,100)

if numberA + numberB = numberC:
  print "Your equation is now true because %s + %s = %s" % (numberA, numberB, numberC) 
else:
  print "Error, retrying..." 

是否有任何可能的方法让 Python 立即重新运行此代码,直到结果为真并最终打印“你的方程为真...”语句,而无需复制/粘贴代码然后按 Enter 键并希望它能生成正确的数字。

我不知道如何使用 while 循环来做到这一点(话又说回来,我对 while 循环不太擅长),所以这可以做到吗?

最佳答案

import random 

while True:
    numberA = random.randrange(50,100)
    numberB = random.randrange(50,100)
    numberC = random.randrange(50,100)
    if numberA + numberB == numberC: break
    print "Error, retrying..." 
print "Your equation is now true because %s + %s = %s" % (numberA, numberB, numberC) 

仅供引用,如果您有一个更复杂的方程,则可能需要很长时间才能随机找到解。如果没有解决方案,上面的代码将无限期地运行。

关于python - 重新运行代码,直到获得特定的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23040162/

相关文章:

python - 图例透明度,使用次轴时

python - 计算CSV文件中特定列中的重复值并将该值返回到另一列(python2)

reactjs - 使用 React.js 循环音频列表

linux - 为什么 Linux IPv4 堆栈需要随机数?

python - 使用 pytest + Pycharm 的长字符串的烦人差异格式

python - 如何使用 idxmax 输出对 pandas 数据框列进行子集化?

php - 如何在 while 循环中对 ID 进行分组(对于 php json_encode)

javascript - 当用户点击不再显示警报时退出 JavaScript 中的 while 循环

c# - 如何在 C# - Visual Studio 中随机填充复选框

java - 随机答案的可能性