记录cu上shell比赛的第5题

简介:

最近在CU上闲逛的时候,发现CU的shell比赛又开始了,http://bbs.chinaunix.net/thread-4086457-1-1.html看来下题目,发现如果用shell来解答的话,居然一个题目也搞不定啊,shell不行,用python来做第5题,还是可以搞定的吧,哈哈,下面就来看看这个题目和python的答案吧。

题目描述如下:

第五题:

给出一个多位数,算出其每位数的总和。比如 1234, 得到 10

        下面看看脚本和运行情况如何:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@centos6 shellbisai] # cat 5.py
#coding=utf-8
#!/usr/bin/env python
import  sys
def  describe():
                 print    '''
此脚本作用及使用示例:
python script.py 123
脚本把123的输入数字拆开相加:
1+2+3=6
结果就是显示6
如果运行是没有参数或者参数多于1个,或者参数中有
字母或者符号,将有提示
                 '''
def  check():
         if  len (sys.argv) ! =  2  :
                 describe()
                 print  "Script will exit"
                 sys.exit()
         else :
                 num = sys.argv[ 1 ]
                 sum = 0
                 result = ''
                 if  num.isdigit():
                         num = list (num)
                         for  in  range ( 0 , len (num)):
                                 sum = sum + int (num[i])
                                 result = result + num[ 1 ]
                         print  "Your input is " ,sys.argv[ 1 ]
                         print  "Total is "  , sum
                         print  result
                 else :
                         describe()
                         sys.exit()
if  __name__  = =  "__main__" :
         check()


     

    脚本的描述相信大家都可以看懂了吧,嘿嘿,并且是用中文做的描述和提示哦,其实偶英文比较菜,懒得用英文做描述啊,见谅,运行的时候要有2个参数,如果不满足,会给出提示;不能超过2个参数,第2个参数必须是数字,如果有英文或者特殊符号也不行,够详细了吧,下面来看看运行的结果吧,必须我们最关心的是结果啊,下面给的是4中运行情况,分别是:

第一种没有给出第二个参数

第二种超过了2个参数

第三种给出了2个参数,但是参数中有字母或者符号

第四种正确模式

来看看运行的结果的截图吧:

224501317.gif

效果不错吧,前面几种都是有错误的提示,最后一次是正确的。


好了,这个题目就做到这里吧,如果有不对之处,希望各位不吝赐教。

本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/1229531如需转载请自行联系原作者


world77

相关文章
|
7天前
|
关系型数据库 MySQL Shell
备份 MySQL 的 shell 脚本(mysqldump版本)
【4月更文挑战第28天】
18 0
|
5天前
|
弹性计算 运维 监控
|
5天前
|
存储 弹性计算 运维
自动化收集员工信息的Shell脚本
【4月更文挑战第30天】
9 0
|
6天前
|
弹性计算 运维 Shell
使用shell 脚本打印图形3
【4月更文挑战第29天】
15 0
|
6天前
|
存储 弹性计算 运维
使用shell 脚本打印图形2
【4月更文挑战第29天】
13 0
|
6天前
|
弹性计算 运维 Shell
使用shell 脚本打印图形1
【4月更文挑战第29天】
15 0
|
6天前
|
存储 弹性计算 运维
调整虚拟机内存参数的shell 脚本
【4月更文挑战第29天】
12 0
|
6天前
|
弹性计算 运维 Shell
一键申请多个证书 shell 脚本
【4月更文挑战第29天】
11 1
|
6天前
|
弹性计算 运维 Shell
从shell脚本发送邮件
【4月更文挑战第29天】
11 0