我们的目标是创建一个带有随机函数的变量,其中变量在每个循环中都会发生变化。你知道吗
我用随机函数创建了变量age
。当我在多个循环中运行它时,它没有给我多个随机数,而是只给我一个随机数,然后循环。你知道吗
我已经解决了这个问题,但是我想理解为什么必须在for循环中创建带有随机函数的变量才能工作。你知道吗
import random
people = ['eddie', 'irina', 'eric']
random.shuffle(people)
age = random.randrange(1, 120)
for person in people:
print(person.title() + " is " + str(age) + " years old.)
>>Irina is 32 years old.
>>Eric is 32 years old.
>>Eddie is 32 years old.
import random
people = ['eddie', 'irina', 'eric']
random.shuffle(people)
for person in people:
age = random.randrange(1, 120)
print(person.title() + " is " + str(age) + " years old.)
>>Irina is 24 years old.
>>Eric is 10 years old.
>>Eddie is 80 years old.
当您最初在循环外定义
age
时,变量age
被赋值,该值由随机函数返回。由于在循环的每次迭代中都没有重新定义它的值,所以它的值将保持不变,因此它为什么循环使用相同的值。你知道吗但是,一旦语句在
for
循环中,每次循环迭代时都会将变量赋值给随机函数的(新)值,这意味着变量的值在循环的每次迭代时都会发生变化。你知道吗在第一个代码段中,您将创建一个随机数,然后在循环中多次打印相同的随机数。你知道吗
在第二个代码段中,您在循环的每次迭代中都创建一个随机数,从而使它(很可能)每次都是唯一的。你知道吗
第一种情况是这样的:
第二种情况是:
您必须使用第二种方法每次都获得不同的数字。你知道吗
相关问题 更多 >
编程相关推荐