qwb1997 发表于 2022-1-20 09:40:34

课后作业19讲 random 模块问题

2. 最后,回忆前面我们学习过的 random 模块,生成一个由 10000 个整数(范围是 1 ~ 65535)构成的随机列表,目标值 target 由用户输入。
import random

nums = []
for i in range(10000):
    x = random.randint(1,65535)
    nums.append(x)

target = int(input("请录入目标整数:"))

isFind = False
for i in range(len(nums)):
    for j in range(i+1,len(nums)):
      if nums+nums==target:
            print()
            isFind = True
            
if isFind == False:
    print("找不到")

其中第一个fori in range(10000):啥意思呀?循环中没有参数i??

深谙流年 发表于 2022-1-20 09:47:47

循环一万次

深谙流年 发表于 2022-1-20 09:49:56

只是往列表中添加一万个数据而已   参数i没什么用更简洁的理解就是我循环一次   就加一个数据到列表中   

涟漪袅袅 发表于 2022-1-20 09:52:59

fori in range(10000)要结合循环体看,就是将他的循环体执行10000次, x = random.randint(1,65535)就是在1到65535随机取1个整数,执行10000次就是如题的生成10000 个整数(范围是 1 ~ 65535)

Twilight6 发表于 2022-1-20 10:02:05


range() 函数有三个参数:start、end、step 其中 stast 默认值为 0; step 默认值为 1

该就是创建一个从 start ~ end-1 步长间隔为 step 的整数序列,当 range 只填入一个数值时,此时的参数是被赋值给 end 的

所以这里 range(10000) 相当于创建从 0 ~ 9999 步长为 1 的 整数序列。在配合 for 循环,遍历了这整个 整数序列

但是 循环体中 没有用到 i 变量, 说明这里循环只是为了用于重复次数,即从代码中可以看出,每次循环生成随机数后加入列表中去,则最终会有 10000 个随机数被加入列表中去

python爱好者. 发表于 2022-1-20 10:05:18

有啊!您看 for i in range(10000) 这里不是含有变量 i 吗?
for 循环 搭配的 range(x,y) 表示生成一串由 x ~ y 组成的可迭代对象 ,比如:
for each in range(0,5):
    print(each)
它就会返回:
0
1
2
3
4
注意,里面并不包含 5 这个数,但包含 0 这个数,
而其中 它的第 1 个参数是可以省略不写的,如:
for each in range(5):
    print(each)
也是和刚才一样的效果:
0
1
2
3
4
这里没有设置第一个参数,它就会默认设置为 0 ,
所以就等价于:range(0,5)
所以这里您写的 for i in range(10000) 就是表示:
循环从 0 ~ 10000 的数,不包含 10000,
也就是循环 10000 次其间包含的语句,语法如下:
for 变量 in 可迭代对象:
    代码
所以这里包含的代码:
x = random.randint(1,65535)
nums.append(x)
就会被执行 10000 遍,
注意,range() 语句 的第二个参数是不可省略的!
所以这个 for 循环有时候不一定非要用到里面的变量名 i,
有时候只是单纯的想把程序执行 10000 遍而已,
只不过是因为 for 循环写起来更简洁高效:
这是 while 循环:
i = 0
while i < 5:
   print(i)
   i += 1

0
1
2
3
4

而同样的效果,for 循环可以这样写:
for i in range(5):
    print(i)

0
1
2
3
4

所以正是因为它的简洁性,所以有时只是单纯想用它做循环,不去调用里面每次的 1.


懂了吗?不懂可以再问!懂了就给个好评呗!!!
{:10_257:}{:10_297:}{:10_281:}{:10_298:}
打字不易!请给个好评!!!
兄弟!请给个好评!求求了!!!
{:10_254:}{:10_254:}{:10_254:}{:10_254:}

python爱好者. 发表于 2022-1-20 10:07:11

在吗?请给个好评!
打字不易!兄弟!!!

python爱好者. 发表于 2022-1-20 10:08:51

给个好评!求求了!
{:10_257:}{:10_297:}{:10_281:}{:10_298:}
{:10_254:}{:10_254:}{:10_254:}{:10_254:}

qwb1997 发表于 2022-1-20 12:26:29

python爱好者. 发表于 2022-1-20 10:05
有啊!您看 for i in range(10000) 这里不是含有变量 i 吗?
for 循环 搭配的 range(x,y) 表示生成一串由...

哥们 你真棒!

python爱好者. 发表于 2022-1-20 13:46:01

感谢兄弟好评!!!

python爱好者. 发表于 2022-1-20 13:46:48

虽然不是最佳,
但依然很感激您的夸奖!

qwb1997 发表于 2022-1-20 14:12:32

python爱好者. 发表于 2022-1-20 13:46
虽然不是最佳,
但依然很感激您的夸奖!

第一次发求助帖 不太了解

python爱好者. 发表于 2022-1-20 14:23:28

没事!兄弟!
不是你的错误!
页: [1]
查看完整版本: 课后作业19讲 random 模块问题