【问题标题】:Random Evens function随机事件函数
【发布时间】:2018-03-24 04:30:28
【问题描述】:

我对编码还很陌生,将其作为一种爱好来学习,因为到目前为止,它很有趣、引人入胜且具有挑战性。开始学习 Python。

只是为了它,我正在尝试编写一个函数,它将生成随机整数,只打印偶数,并在它最终打印数字 28 时停止(随机选择它。)

我已经尝试了所有我能想到的让函数循环的方法,但我唯一能成功做的就是在函数停止之前打印出一个随机偶数。

有没有办法让函数在用户定义的范围之间迭代 randint 生成的数字,例如 (0,x),然后将 if/elif/else 应用于生成的数字?

我可能已经尝试将同一个函数重写 30-40 次,但我要么得到一个偶数,要么得到无数语法错误,要么得到一些蓝色脚本,上面写着“random.randint object at- 然后是一堆数字..”???

也许我只需要继续深入研究教程即可找到答案,但这似乎是一个更有成效的选择。也许有一些我没有想到的东西,或者我需要使用的概念我还没有学会。非常感谢任何建议/提示/实际代码行!

提前致谢 迈克

【问题讨论】:

  • 请在您的问题中包含“我能想到的一切”(最好是代码)。
  • @DyZ:嗯,理想情况下不是一切minimal reproducible example 的“最小”部分相当重要。
  • @ShadowRanger 好吧,至少有东西
  • 就我个人而言,我希望看到 30-40 个不同的函数都是不正确的。现在这将是一项值得一看的壮举。

标签: python function random integer


【解决方案1】:

原来,我错误地使用了 for 循环,并将 num = randint(0,x) 放置在错误的位置(错误的行)。我已经包含了最终功能:

from random import randint
def random_even(x):
   for i in range(x):
      num = randint(0,x)
      if num==28:
         print(num,"\n DONE")
         break
      elif num%2==0:
         print(num)

【讨论】:

  • X < 28 时会发生什么?
  • x 是否小于或大于 28,该函数只打印偶数,一旦随机打印 28 就会中断。如果未达到 28,则继续打印范围内的偶数( X)。我的下一个难题是尝试实现 .shuffle 或其他一些函数,这样它就不会打印任何整数的重复项。另外:我很抱歉代码在我的评论中被挤在一起。我虽然它会保持分开。
  • 对。在randint(0,26) 永远无法打印28 时,我会选择随机打印28 的中断。因此,虽然代码有效,但它并没有完全按照您用英语所说的那样做。更正确的语句是在打印 X 个偶数或随机打印 28 后中断。我无意在这件事上骚扰你。我试图帮助您了解,作为一名新编码员,将不精确的英语转换为完全正确的 Python 是多么困难。不过,我怀疑我说得很好。
  • 谢谢!我很欣赏建设性的批评。我随机选择 28 只是因为我想让它选择(某个数字),您可以将其更改为您想要的任何东西。在我不断学习的过程中,我试图越来越多地挑战自己。我认为我什至没有划伤 2%... :D XD
猜你喜欢
  • 2011-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 2018-08-23
  • 1970-01-01
  • 2014-04-27
  • 2013-01-28
相关资源
最近更新 更多