s='abcde'
for i in [None]+range(-1,-len(s),-1):
print(s[:i])
代码如上。
我用的是python3.2.2,这段代码在python2.4中应该是可以用的,我知道python3.x改了不少东西,当range()这个函数具体怎么改的还真是不太清楚,但从这个程序上看,在python3.2.2中似乎range()不生成一个列表!

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 李思思044

    15人对此回答表示赞同

    3.x中的range应该是生成一个类生成器对象
    就是用yield返回值的那个东西,参考下面这段程序:
    #---------function myrange-----------
    def myrange(*args):
    if len(args) == 1:
    start = 0
    step = 1
    end = args[0]
    if len(args) == 2:
    start = args[0]
    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Taj

    10人对此回答表示赞同

    for i in [None] + list(range(-1,-len(s),-1)): 追问
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Ximena

    6人对此回答表示赞同

    虽然我好长时间没接触Python了,但是我感觉你无非就是要以一定顺序输出s中的东西。但我感觉你for循环中是不是略显麻烦了?需要用[None]+这样的语法来生成一个list吗?不是range()直接返回一个list吗?(或者可以看看xrange()之类函数,我记得能返回list).
    如果是输出一个倒切片序列(每次少最前面的字母),好像不用这么麻烦。list好像有个pop函数,循环pop,然后输出剩下的就行了吧。
    展开
    6
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部