为了账号安全,请及时绑定邮箱和手机立即绑定

这个打出来怎么是一大堆啊 ?

L = range(1, 100)

for x in L:

    print L[6::7]


正在回答

3 回答

1、打出来一大堆,主要问题是

for x in L:
    print L[6::7]

这两句代码有点小问题:

print L[6::7]

本身就是将

list[7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]

打印出来,而题主又加了一个

for x in L:

意思是将这个list打印了一百遍呀,一百遍,,,,


2、还有不明白为什么是(1, 101)而不是(1, 100)

在range中,(1,100)的意思是从1这个数取值取到99,也就是取不到100.

想要在list中取值取到100当然只能是(1,101)了。

3 回复 有任何疑惑可以回复我~

问题不少。。

首先打印出一堆 是因为:

print L[6::7]
## L[6::7] 的意思是 L 列表从第七个元素(index=6)到最后,用步长7 做切片。 如果L = range(1,100),则
## 这个切片如下:
[7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]

## 关于列表切片 和步长可以搜索 对应文章看看 , 可以跟 range() 函数的三个参数一起看, 都差不多。


第二个问题, 为什么用 range(1,101) 而不是 range(1,100) 那是因为 题干中所要求 “请用for循环迭代数列 1-100 并打印出7的倍数。” 而range函数 生成的列表 ,并不包含第二个参数, 所以要用 range(1,101)

0 回复 有任何疑惑可以回复我~

任务

请用for循环迭代数列 1-100 并打印出7的倍数。

?不会了怎么办

用range(1, 101)可以创建数组。

参考代码:

for i in range(1, 101):
   if i % 7 == 0:
       print i

还有不明白为什么是(1, 101)而不是(1, 100)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

这个打出来怎么是一大堆啊 ?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信