习题1:题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

#encoding=utf-8

while True:

try:

num=int(raw_input("input a number not more than 5 digits:"))

except:

"Plese input again:"

else:

if len(str(num))<=5:

break

 

print len(str(num))

print str(num)[::-1]

 

 

 

习题2:题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

#encoding=utf-8

 

week={'m':'monday','tu':'tuesday','w':'wednesday','th':'thursday','f':'friday','sa':'saturday','s':'sunday'}

 

prefix=raw_input("input the first letter:")

 

if week.has_key(prefix.lower()):

print week[prefix.lower()]

else:

prefix2=raw_input("input the second letter:")

if week.has_key(prefix.lower()+prefix2.lower()):

print week[prefix.lower()+prefix2.lower()]

 

 

习题3:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:

X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

Y = [[5,8,1],
    [6,7,3],
    [4,5,9]]

#encoding=utf-8

 

x = [[12,7,3],

[4 ,5,6],

[7 ,8,9]]

 

y = [[5,8,1],

[6,7,3],

[4,5,9]]

 

z = [[0,0,0],

[0,0,0],

[0,0,0]]

#print x,y,z

 

for i in range(len(x)):

print "i:",i

for j in range(3):

print "j:",j

print "x[%s][%s]:%s"%(i,j,x[i][j])

print "y[%s][%s]:%s"%(i,j,y[i][j])

z[i][j]=x[i][j]+y[i][j]

print "z[%s][%s]:%s"%(i,j,z[i][j])

print z

 

c:\Python27\Scripts>python task_test.py

i: 0

j: 0

x[0][0]:12

y[0][0]:5

z[0][0]:17

j: 1

x[0][1]:7

y[0][1]:8

z[0][1]:15

j: 2

x[0][2]:3

y[0][2]:1

z[0][2]:4

i: 1

j: 0

x[1][0]:4

y[1][0]:6

z[1][0]:10

j: 1

x[1][1]:5

y[1][1]:7

z[1][1]:12

j: 2

x[1][2]:6

y[1][2]:3

z[1][2]:9

i: 2

j: 0

x[2][0]:7

y[2][0]:4

z[2][0]:11

j: 1

x[2][1]:8

y[2][1]:5

z[2][1]:13

j: 2

x[2][2]:9

y[2][2]:9

z[2][2]:18

[[17, 15, 4], [10, 12, 9], [11, 13, 18]]

 

一行搞定:

>>> [[x[i][j]+y[i][j] for i in range(3)] for j in range(3)]

[[17, 10, 11], [15, 12, 13], [4, 9, 18]]

 

Sys.argv练习把所有的输入参数的字母个数统计出来

#encoding=utf-8

 

import sys

 

print "The command line arguments are:"

list=sys.argv

num=0

print list

for i in list[1:]:

if (i>='a' and i<='z') or (i>='A' and i<='Z'):

num+=1

print num

 

c:\Python27\Scripts>python task_test.py A B c d

The command line arguments are:

['task_test.py', 'A', 'B', 'c', 'd']

4

 

第二道题:你输入的参数全部是数字,计算所有数字参数的累计和

 

#encoding=utf-8

 

import sys

 

print "The command line arguments are:"

list=sys.argv

sum=0

print list

for i in list[1:]:

 

sum+=float(i)

print "sum:",sum

c:\Python27\Scripts>python task_test.py 1 1 1.1

The command line arguments are:

['task_test.py', '1', '1', '1.1']

sum: 3.1

 

按照吴老思路:

#encoding=utf-8

 

import sys

 

if len(sys.argv[1:])>=1:

sum=0

else:

sum = None

 

for i in sys.argv[1:]:

try:

sum+=float(i)

except:

continue#这里的意思是出现非数字的地方不抱错,

print sum

 

 

 

#encoding=utf-8

 

import sys

import os

 

def readfile(filename):

f=open(filename)

while True:

line=f.readline()

if len(line.strip())==0:

break

print line

f.close()

 

 

print "sys.argv[0]--------",sys.argv[0]

print "sys.argv[1]--------",sys.argv[1]

print "sys.argv[2]--------",sys.argv[2]

 

if len(sys.argv)<2:

print "No action specified."

sys.exit()

 

if sys.argv[1].startswith('--'):

option = sys.argv[1][2:]

if option == 'version':

print "version 1.2"

elif option =='help':

print """

This program.........

--version:prints the version number

--help : display this help"""

else:

print "unknow option"

sys.exit()

else:

for file in sys.argv[1:]:

#print file

readfile(file)

 

 

sys.stdin.readline() == raw_input()

>>> raw_input()

sd

'sd'

>>> sys.stdin.readline()

sadf

'sadf\n'

>>>

 

#coding=utf-8

import os

import sys

 

counter=1

 

while True:

line=sys.stdin.readline()

if not line.strip():

break

print "%s:%s"%(counter,line)

counter +=1

 

 

 

>>> import sys

>>> sys.version

'2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)]'

>>>

 

>>> sys.stdout.write("sdfsdffffffffff\n")

Sdfsdffffffffff

 

 

#coding=utf-8

import os

import sys

for i in range(3):

sys.stdout.write("gloryroad")

print '\n','_'*60,'\n'

 

for i in range(3):

sys.stderr.write("error error")

 

将标准输出到屏幕,改为输出到文件里

>>> import os

>>> import sys

>>> sys.stdout=open("d:\\a.txt","w")

>>> print "love you"

>>> "love you"

>>> fp

>>> print "hello"

>>> stdout.flush()

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name 'stdout' is not defined

>>> print ""

>>> sys.stdout.flush()

>>> print

 

 

 

Python-sys模块,异常的更多相关文章

  1. python sys模块(12)

    在python sys模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数!关于sys模块在官网也有详细的介绍:python sys模块官方介绍. 一.sys模块简介 sys.arg ...

  2. Python——sys模块

    七.sys模块 sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传递参数. sys.exit([arg]): 程序中间的退出,arg=0为正常退出. sys.getdefaulten ...

  3. python sys模块使用详情

    python常用模块目录 sys模块提供了一系列有关Python运行环境的变量和函数.1.sys.argv可以用sys.argv获取当前正在执行的命令行参数的参数列表(list).变量解释sys.ar ...

  4. Python sys模块 os模块、OS.open() | open() | OS._exit() | sys.exit() | exit()

    sys模块:负责程序和Python交互. sys常用方法:===========================  sys.stdout.write('please:')val = sys.stdin ...

  5. python sys模块和序列化模块

    sys模块是与python解释器交互的一个接口: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit( ...

  6. 第12.2节 Python sys模块导览

    sys模块包括一些用于系统处理的功能,常用的成员包括: sys.argv:当前执行进程的命令参数列表,不含执行程序本身的名字: sys.stdin .sys.stdout 和 stderr :分别对应 ...

  7. python sys模块

    sy模块主要用于:解析器及环境 命令行参数 python xx.py xx1 xx2注:xx.py: sys.argv[0] 脚本名称 xx1 sys.argv[1] 第1个参数退出程序 sys.ex ...

  8. python import 模块异常问题

    新项目开始了,(tornado,python) 结果出现了一个比较诡异的问题. import 自己的在conf文件夹下配置文件settings的时候, from conf.settings impor ...

  9. Python—sys模块介绍

    sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxi ...

  10. Python sys 模块

    import sys # 把命令行参数返回一个 List,第一个元素是程序本身的路径 print(sys.argv) # 命令行运行 python3 sys_model.py klvchen hell ...

随机推荐

  1. [工具] CuteMarkEd

    CuteMarkEd 是一款开源免费的.支持代码高亮的.朴素的 Markdown 本地编辑器,支持 Windows.Linux. 就因为程序员喜欢用,然后就拼命的开发 Markdown 编辑器么?青小 ...

  2. Unity3D笔记 英保通十 射线碰撞器检测

    射线碰撞检测可以用来检测方向和距离: 通过Physics.RayCast光线投射来实现:常用于射击利用发射的射线来判断.还有对战中刀剑交战中.. 一.要涉及到RayCast和RayCastHit 1. ...

  3. spark-sklearn(spark扩展scikitlearn)

    (1)官方规定安装条件:此包装具有以下要求: -*最新版本的scikit学习. 版本0.17已经过测试,旧版本也可以使用.- *Spark> = 2.0. Spark可以从对应官网下载[Spar ...

  4. 启用yarn日志聚集功能

    在yarn-site.xml配置文件中添加如下内容: ##开启日志聚集功能        <property>                <name>yarn.log-ag ...

  5. 安装XP时BIOS的设置(ahci ide)

    和以前使用Windows XP一样,很多用户都在设法提高Windows 7的系统运行速速,比较常见的方法大多是对系统服务进行优化,去掉一些可有可无的系统服务,还有就是优化资源管理器菜单等.除此之外,还 ...

  6. hive学习-测试数据

    测试数据: ---------------------------------------------MySQL-------------------------------------------- ...

  7. traceroute 排查 nginx 反向代理 配置

    [root@b ~]# traceroute www.test.comtraceroute to www.test.com (134.175.58.66), 30 hops max, 60 byte ...

  8. Java中子类是否可以继承父类的static变量和方法而呈现多态特性

    静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制: 它们仅能调用其他的static 方法. 它 ...

  9. 【PHP】PHP初学者的学习线路

    先来看下PHP初学者的学习线路: (1) 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉. (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法. ( ...

  10. 【JMeter】如何优雅的写脚本

    cc给发的视频链接: http://v.youku.com/v_show/id_XMzA4Mjg1ODA0MA==.html?spm=a2h3j.8428770.3416059.1 ————————— ...