我想知道为什么这两个结果是不同的?
import random
secretNumber = random.randint(1, 20)
for i in range(7):
print(secretNumber)
import random
for i in range(7):
print(random.randint(1, 20))
但另一方面,这两个结果是相同的:
number = range(1,7)
for i in number: print(i)
for i in range(1,7): print(i)
发布于 2018-06-06 09:01:19
第一个被设置为一个变量,这意味着该值将是常量/相同。第二个函数在每个循环中获得不同的值,因为您在每个循环中都会生成一个不同的随机数。
import random
secretNumber = random.randint(1, 20)
for i in range(7):
print(secretNumber) # secretNumber will always be the same
import random
for i in range(7):
print(random.randint(1, 20)) # will generate random number every loop
发布于 2018-06-06 09:10:25
我在代码中添加了一些注释,这样您就可以破译正在发生的事情。
import random
# run random.randint(1,20) method 1 time and store the value in variable secretNumber
secretNumber = random.randint(1, 20)
for i in range(7):
# Print the variable secretNumber 7 times (value is some integer)
print(secretNumber)
# Do whatever is in this loop 7 times
for i in range(7):
# Print the value returned by random.randint(1,20)
print(random.randint(1, 20))
# store range object (which is merely an iterator) in variable number
number = range(1,7)
# for loop will iterate the object stored in variable number
for i in number:
print(i)
# range(1,7) will always return the same object so number === range(1,7)
for i in range(1,7):
print(i)
有关range如何在Python3与2 Assign a range to a variable (Python)中工作的详细信息
https://stackoverflow.com/questions/50710859
复制相似问题