溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基礎(chǔ)篇-腳本題(3)

發(fā)布時間:2020-07-12 16:55:44 來源:網(wǎng)絡(luò) 閱讀:514 作者:vekergu 欄目:開發(fā)技術(shù)

問題:

[root@base tmp]# cat ent.txt

1

2

3

4

5

6

7

8

9

10

要求輸出結(jié)果:1+2+3+4+5+6+7+8+9+10+=55

最好使用tr命令打印出

分析題后,想到最簡單的解法就是循環(huán)拼接打印結(jié)果:

#!/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就可以將字符串表達式,轉(zhuǎn)換成算術(shù)表達式

python實現(xiàn):

# 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")

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI