首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >想知道为什么这两个结果不同吗?

想知道为什么这两个结果不同吗?
EN

Stack Overflow用户
提问于 2018-06-06 08:56:38
回答 2查看 28关注 0票数 0

我想知道为什么这两个结果是不同的?

代码语言:javascript
复制
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))

但另一方面,这两个结果是相同的:

代码语言:javascript
复制
number = range(1,7)
for i in number: print(i)

for i in range(1,7): print(i)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-06 09:01:19

第一个被设置为一个变量,这意味着该值将是常量/相同。第二个函数在每个循环中获得不同的值,因为您在每个循环中都会生成一个不同的随机数。

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2018-06-06 09:10:25

我在代码中添加了一些注释,这样您就可以破译正在发生的事情。

代码语言:javascript
复制
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)中工作的详细信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50710859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档