【问题标题】:print one time uniqe variable in if or while statement python在if或while语句python中打印一次uniqe变量
【发布时间】:2016-06-26 17:51:59
【问题描述】:

有没有办法查看/打印具有唯一值的循环变量?

举个例子:

while random.randint(0,15) != 7:

如果我这样做:

while random.randint(0,15) != 7:
     print (random.randint(0,15))

我不会得到与 while 循环中产生的结果相同的结果 它可能会发生 while 语句生成七个,但 print 语句会产生不同的数字。那么如何看穿你真正循环的变量呢?

【问题讨论】:

    标签: python python-3.x printing


    【解决方案1】:

    你可以这样做

    x = random.randint(0,15)
    while x != 7:
         x = random.randint(0,15)
         print (x)
    

    【讨论】:

    • 这并不完全相同,因为如果randint 在第一次执行时返回 7,OP 的代码将永远无法迭代。此版本将始终至少迭代一次。
    • 然后不要将 x 初始化为零... :) 我为 cmets 更新了 @jordanm tnxs ...:)
    【解决方案2】:

    你可以制作打印它的函数。

    应该是这样的:

    def rprint(x):
        print(x)
        return x
    
    while rprint(random.randint(0,15)) != 7:
    

    【讨论】:

      【解决方案3】:

      重新设计您的流控制并存储当前随机变量的值:

      while True:
           rand_ = random.randint(0,15)
           if rand_ != 7:
               continue
           print (rand_)
      

      【讨论】:

        最近更新 更多