鱼C论坛

 找回密码
 立即注册
查看: 3616|回复: 14

[已解决]利用for循环打印出2*1~50的列表这样写对吗?

[复制链接]
发表于 2016-10-12 08:55:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 fdfanmo 于 2016-10-13 11:14 编辑

说来很惭愧!看是教学视频到19课了.
这么简单的代码都还写不出来.
本来昨天想上来发提问的,不过想了一晚后写出来了.
但不知道这样写对吗?
还有其他的写法吗?
我对FOR循环的写法.真的不是很能理解.
因为以前用按键精灵写惯了

for 50 或是 for (变数)
.
.循环体
.
next

但是python 的 for却是
for 变数名 in range(范围)

很不能理解这个写法...

谢谢各位前辈指教..

利用代码实现
  1. 2* 1 = 2
  2. 2* 2 = 4
  3. 2* 3 = 6
  4. 2* 4 = 8
  5. 2* 5 = 10
  6. .
  7. .
  8. 2* 47 = 94
  9. 2* 48 = 96
  10. 2* 49 = 98
  11. 2* 50 = 100
复制代码


小弟的代码

  1. for each in range(1, 51):
  2.         i = 2*each
  3.         print('2*',each ,'=', i)
复制代码
最佳答案
2016-10-12 21:53:42
简单版:
        for i in range(1,51):
                    result = 2 * i
                print ('2 * %d = %d '% (i,result))

复杂版:
        l=[2*x for x in range(1,51)]                             #每次计算的结果保留在l的list当中
        for i in range(50):                                                #i循坏,访问list的元素是从0开始的
                    print ('2 * %d = %d '% (i+1,l[i]))            #输出
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-10-12 14:42:44 | 显示全部楼层
应该没问题,我也是刚学,哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-12 17:08:53 | 显示全部楼层
如果772815726 发表于 2016-10-12 14:42
应该没问题,我也是刚学,哈哈

列印的功能是跑得出来~
只是不知道这样写到底对不对
前辈门有没有更好的写法..
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-12 21:15:50 | 显示全部楼层
你这有点简单啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-12 21:53:42 | 显示全部楼层    本楼为最佳答案   
简单版:
        for i in range(1,51):
                    result = 2 * i
                print ('2 * %d = %d '% (i,result))

复杂版:
        l=[2*x for x in range(1,51)]                             #每次计算的结果保留在l的list当中
        for i in range(50):                                                #i循坏,访问list的元素是从0开始的
                    print ('2 * %d = %d '% (i+1,l[i]))            #输出

评分

参与人数 1荣誉 +5 收起 理由
fdfanmo + 5 碰到%我就投降了.数学完全不行的我..

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-12 21:56:02 | 显示全部楼层
你不懂的话,可以使用help函数,比如:
>>>        help (range)
Help on built-in function range in module __builtin__:

range(...)
    range(stop) -> list of integers
    range(start, stop[, step]) -> list of integers
   
    Return a list containing an arithmetic progression of integers.
    range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
    When step is given, it specifies the increment (or decrement).
    For example, range(4) returns [0, 1, 2, 3].  The end point is omitted!
    These are exactly the valid indices for a list of 4 elements.

评分

参与人数 1荣誉 +5 收起 理由
fdfanmo + 5 感谢无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-13 08:40:57 | 显示全部楼层
林松翔 发表于 2016-10-12 21:53
简单版:
        for i in range(1,51):
                    result = 2 * i

高手
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-13 09:28:41 | 显示全部楼层

说来惭愧~
这么简单代码我都没办法马上写出来..
想了很久才想到..
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-13 09:33:59 | 显示全部楼层
林松翔 发表于 2016-10-12 21:53
简单版:
        for i in range(1,51):
                    result = 2 * i

碰到%我就投降了.数学完全不行的我..
找时间好好恶补一下了..
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-13 09:42:53 | 显示全部楼层
林松翔 发表于 2016-10-12 21:56
你不懂的话,可以使用help函数,比如:
>>>        help (range)
Help on built-in function range in module __ ...

range函数我还能理解..
range(起始,r结束,步进)
for函数我比较不理解..
或许应该说我比较不行习惯
因为以前用按键精灵写惯了
例如我要他重复回圈 50 次
按键精灵就直接写..

for 50
.
.循环体
.
next

但是python 的 for却是
for 变数名 in range(范围)

所以我应该要写成
for 变数名 in range(1,50)

看了大大的代码我能理解的是
python他的写法就是
for 变数名 in range(起始,结束)
所以python的回圈次数如果是用for的话
那就一定要搭配range就对了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-13 10:58:47 | 显示全部楼层
如果你有C语言的基础就知道,python的for相当于C语言里的for,而且Python的for比C更加简单
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-13 11:01:05 | 显示全部楼层
’%‘,这东西你可以不用管它,其实就是格式化输出而已,‘%d’相当于输出的时候是十进制的数
顺便学习英语吧,‘十进制’=‘decimalism,取它的首字母d’

评分

参与人数 1鱼币 +5 收起 理由
fdfanmo + 5 這樣我理解了..

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-13 12:42:39 | 显示全部楼层
fdfanmo 发表于 2016-10-13 09:42
range函数我还能理解..
range(起始,r结束,步进)
for函数我比较不理解..

for语句比其他传统语言更强大更易用。
只是在从n到m的数字稍微麻烦写,要写成for i in range(n, m):
但它很方便对可迭代对象进行循环,如
  1. >>> s = 'Python'
  2. >>> for c in s:
  3.         print(c)

  4.        
  5. P
  6. y
  7. t
  8. h
  9. o
  10. n
  11. >>> l = [12, 3, 'ff', 54.5]
  12. >>> for each in l:
  13.         print(each)

  14.        
  15. 12
  16. 3
  17. ff
  18. 54.5
复制代码

评分

参与人数 1鱼币 +5 收起 理由
fdfanmo + 5 感谢无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-13 14:20:03 | 显示全部楼层
冬雪雪冬 发表于 2016-10-13 12:42
for语句比其他传统语言更强大更易用。
只是在从n到m的数字稍微麻烦写,要写成for i in range(n, m):
但 ...

差點忘記了~
这写法可以不用搭配range函数..
这次要好好记下来了..
别再忘记了...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-26 09:20:36 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-23 07:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表