基础篇-脚本题(3)
2016-07-26 09:54
246 查看
问题:
[root@base tmp]# cat ent.txt
1
2
3
4
5
6
7
8
9
10
要求输出结果:1+2+3+4+5+6+7+8+9+10+=55
最好使用tr命令打印出
分析题后,想到最简单的解法就是循环拼接打印结果:
#!/bin/sh
NumArray=($(cat /tmp/ent.txt | awk '{print $1}'))
result="1"
all=1
for((i=1;i<${#NumArray[*]};i++))
do
result="$result+${NumArray[$i]}"
all=$((${NumArray[$i]}+$all))
done
echo $result=$all
看过老男孩老师的答案,才叫拜服,很是简单:
cat ent.txt | tr "\n" "+" | sed 's/\+$/\n/' 直接用tr将"\n"替换为"+",然后sed替换最后一个"+"
cat ent.txt |tr "\n" "+"|sed 's/\+$/\n/'|bc 一个|bc就可以将字符串表达式,转换成算术表达式
python实现:
# coding: utf-8
import sys
from itertools import groupby
def demo(ListFile):
reList = []
files = file(ListFile,'r')
lines = files.readlines()
str_list = "1"
result=0
for item in lines:
rLIst = item.replace("\n","")
reList.append(rLIst)
if int(rLIst) > 1:
str_list = str(str_list)+"+"+str(rLIst)
result = result + int(rLIst)
return "%s=%d" %(str_list,result)
if __name__ == "__main__":
print demo("/tmp/ent.txt")
[root@base tmp]# cat ent.txt
1
2
3
4
5
6
7
8
9
10
要求输出结果:1+2+3+4+5+6+7+8+9+10+=55
最好使用tr命令打印出
分析题后,想到最简单的解法就是循环拼接打印结果:
#!/bin/sh
NumArray=($(cat /tmp/ent.txt | awk '{print $1}'))
result="1"
all=1
for((i=1;i<${#NumArray[*]};i++))
do
result="$result+${NumArray[$i]}"
all=$((${NumArray[$i]}+$all))
done
echo $result=$all
看过老男孩老师的答案,才叫拜服,很是简单:
cat ent.txt | tr "\n" "+" | sed 's/\+$/\n/' 直接用tr将"\n"替换为"+",然后sed替换最后一个"+"
cat ent.txt |tr "\n" "+"|sed 's/\+$/\n/'|bc 一个|bc就可以将字符串表达式,转换成算术表达式
python实现:
# coding: utf-8
import sys
from itertools import groupby
def demo(ListFile):
reList = []
files = file(ListFile,'r')
lines = files.readlines()
str_list = "1"
result=0
for item in lines:
rLIst = item.replace("\n","")
reList.append(rLIst)
if int(rLIst) > 1:
str_list = str(str_list)+"+"+str(rLIst)
result = result + int(rLIst)
return "%s=%d" %(str_list,result)
if __name__ == "__main__":
print demo("/tmp/ent.txt")
相关文章推荐
- IE:最好用的起始页
- 定义标题的最好方法
- oracle―SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起
- JS字符串拼接在ie中都报错的解决方法
- Javascript字符串拼接小技巧(推荐)
- js将json格式的对象拼接成复杂的url参数方法
- Javascript中拼接大量字符串的方法
- 探讨js字符串数组拼接的性能问题
- java拼接字符串时去掉最后一个多余逗号的方法
- Python实现拼接多张图片的方法
- 如何获取DATATABLE指定行数的集合
- nginx启动,重启,关闭命令
- 知乎摘录(短答)
- Proguard代码混淆器如何排除指定的类或子类
- nginx打开目录浏览功能
- nginx启动,重启,关闭命令
- 全局变量 定义 收藏
- PHP是迄今为止最好的web平台
- sql_mode中的 STRICT_TRANS_TABLES和STRICT_ALL_TABLES 区别