seqコマンドをPythonで。

30分プログラム、その416。seqコマンドをPythonで。
id:Gemmanさんがステキなコマンドを使っていたので、Pythonで再現してみる。

使い方

# 指定しないと1が始点
$ ./seq.py 5
1
2
3
4
5

# 2からスタート
$ ./seq.py 2 5
2
3
4
5

# 2づつインクリメント
$ ./seq.py 2 2 5
2
4

ソースコード

#! /usr/bin/python
# -*- mode:python; coding:utf-8 -*-
#
# seq.py -
#
# Copyright(C) 2008 by mzp
# Author: MIZUNO Hiroki / mzpppp at gmail dot com
# http://howdyworld.org
#
# Timestamp: 2008/11/17 22:42:00
#
# This program is free software; you can redistribute it and/or
# modify it under MIT Lincence.
#

import sys

def puts(x):
    print x

def seq(a,b,c=1):
    return xrange(int(a),int(b)+1,int(c))

del sys.argv[0]
if len(sys.argv)   == 1:
    last = sys.argv[0]
    map(puts,seq(1,last))
elif len(sys.argv) == 2:
    (first,last) = sys.argv
    map(puts,seq(first,last))
elif len(sys.argv) == 3:
    (first,inc,last) = sys.argv
    map(puts,seq(first,last,inc))