自动生成1到100的数字自增序列的几种方法
==之所以写这个题目,是原于一道笔试题,加上自己喜欢用的一些小方法,汇总如下:
1.编程语言,此方法由于语言的不同而存在语法上的差异,在此仅简单举例如下
python脚本:
多行输出:
for i in range(1,101) : print i
单行输出:
' '.join(str(i) for i in range(1,101))
2.PowerShell(windows)
PS脚本如下:
多行输出:
$num=1..100
$num
单行输出:
$num=1..100
foreach ($a in $num) {$w=-join($w," ",$a)}
$w
3.批处理BAT(windows)
bat脚本:
多行输出:
@echo off rem 这里是注释 for /l %%i in (1,1,100) do echo %%i pause
单行输出:
@echo off rem 这里是注释 setlocal EnableDelayedExpansion set str= for /l %%i in (1,1,100) do ( set str=!str! %%i ) echo %str% pause
4.BASH(linux)
脚本:
多行输出:
for ((i=1;i<101;i++)) do echo $i done
单行输出:
w="" for ((i=1;i<101;i++)) do w=$w' '$i done echo $w
或者直接
echo {1..100}
命令:
多行输出:seq 100
单行输出:seq -s ' ' 100
自动补零:seq -w 1 100
5.数据库(mysqloracle)
mysql脚本:
多行输出:
delimiter // create table t ( id int ) // create procedure proc() begin declare i int default 0; loop_label: loop set i=i+1; insert into t values(i); if i>=100 then leave loop_label; end if; end loop; end; // call proc() // drop procedure proc // select * from t //
单行输出:
delimiter // drop procedure if exists pro_rep // create procedure pro_rep(num int) begin set @x =1; set @w=''; repeat set @w=concat(@w,' ',@x); set @x = @x + 1; until @x > num end repeat; select @w as x; end // call pro_rep(100) //
oracle脚本:
set serverout on declare num number; begin for num in 1..100 loop dbms_output.put_line(num); end loop; end; /
6.文本编辑器(列模式)
6.1 Excel:(windows)
选中A1,输入“1”,鼠标移动到该单元格右下角,待箭头变为+时,向下拖动鼠标到A100单元格,在弹出方块中选择“填充序列”
6.2 Vim:(linux)
光标移到某空行开头,然后按下esc键,依次输入:r !seq 100 然后回车
类似命令有:let i=1 | g/^/s//=i/ | let i=i+1
6.3 UltraEdit:(windows)
新建文件,按住回车键直到凑足100行,ctl+a进行全选,alt+c打开列模式,在菜单栏“列”中选择“插入号码”(具体方法因版本不同可能有差异),在弹出的对话框中点击“确定”,同时可选择是否“列首补零”
6.4 Sublime Text:
安装了package control后,在菜单栏“preferences”中选择“Package Control”,在选择“Package Control:Install Package”,输入搜索“Text Pastry”并安装。
st下列选择方法为按住鼠标中间向下拖动,待选择100行后,按ctl+alt+n,在弹出的框中输入i并回车。如果如下补零则输入1 1 3即可。