习题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. [工具] CintaNotes

    CintaNotes是一款非常轻巧实用的笔记软件,可看作EverNote轻量级替代品.CintaNotes只需1个exe,体积仅1MB,却拥有 EverNote易于收集.实时搜索.条状排列.tag分类 ...

  2. Spark2 Dataset去重、差集、交集

    import org.apache.spark.sql.functions._ // 对整个DataFrame的数据去重 data.distinct() data.dropDuplicates() / ...

  3. 电话、地址、Email等常用正则表达式

    正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达 ...

  4. hdu1754 I Hate It【线段树】

    很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.  这让很多学生很反感.  不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...

  5. SQL Fundamentals: 子查询 || 行列转换(PIVOT,UNPIVOT,DECODE),设置数据层次(LEVEL...CONNECT BY)

    SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...

  6. ORACLE中Drop table cascade constraints之后果.

    当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行..一个极简单的例子,例如你有一个员工基本资料表,上面 ...

  7. MySQL异步复制

    准备:主备库版本一致,正常安装软件. 1.主库上设置一个复制使用的账户: mysql> grant replication slave on *.* to 'rep1'@'192.168.100 ...

  8. Taking a peek inside with the Actuator

    Taking a peek inside with the Actuator <dependency> <groupId>org.springframework.boot< ...

  9. hibernate注解(一)JoinColumn

    @Entity @Table(name="t_group") public class Group { private int id; private String name; p ...

  10. 深入浅出 TCP/IP 协议栈

    写的不错:http://www.cnblogs.com/onepixel/p/7092302.html#3899256