【问题标题】:Calling a Value in a List using While Loop使用 While 循环调用列表中的值
【发布时间】:2021-05-17 04:26:35
【问题描述】:

有什么方法可以知道之前的附加值是否大于使用while循环新附加的值

unifarr = []
forwarr = []
while t :
unif = randint(-75, 75)  # To move face in every possible angle
forw = randint(-1, 1)  # Move every 1 pixel, -1 for back 1 for forward
t.left(unif)
t.forward(forw)
sleep(0.01)
forwarr.append(forw) 
unifarr.append(unif)# check if prev. value is < or > than newly appended value

我正在使用随机添加到数组中是否有任何可能的方法来检查先前附加的随机值是否大于新附加的值

【问题讨论】:

  • 请提供完整代码
  • 假设forwarr是一个列表,你可以这样做if forwarrr[-1] &gt; forw

标签: python arrays random while-loop


【解决方案1】:

您可以在while 循环之外创建基本情况,并检查新创建的数字是否大于基本情况。如果更大,您可以做自己的事情,最后将以前的数字设置为新的数字以供将来迭代。像这样的东西可以完成这项工作:

from random import randint

previous_forv = randint(-75, 75)
previous_unif = randint(-1, 1)
forwarr = [previous_forv]
unifarr = [previous_unif]

while t:
    new_forv = randint(-75, 75)
    new_unif = randint(-1, 1)

    t.left(unif)
    t.forward(forw)
    sleep(0.01)
    
    if new_forv > previous_forv:
        forwarr.append(new_forv)
        previous_forv = new_forv

    if new_unif > previous_unif:
        unifarr.append(new_unif)
        previous_unif = new_unif

【讨论】:

    【解决方案2】:

    您可以使用负数索引另一端的列表。即使用-1,您将获得最后一个值,-2 是倒数第二个值,依此类推。

    if unif > unifarr[-1]:
       print ("is greater")
    else:
      print ("is not greater")
    
    unifarr.append(unif)
    

    unifarr.append(unif)
    
    if unifarr[-1] > unifarr[-2]:
       print ("is greater")
    else:
      print ("is not greater")
    

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 1970-01-01
      • 2017-07-31
      • 2013-10-30
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      相关资源
      最近更新 更多