习题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. jenkins Email-ext plugin插件中Pre-send Script设置说明

    在使用jenkins Email-ext plugin发送邮件时,项目中使用了SVN去同步,发现每次有同步,都会发送邮件,现只想SVN只更新,不发送邮件通知,这就要在Pre-send中做修改 看看官网 ...

  2. ggplot2绘制概率密度图

    以下绘图以Weibull分布(韦伯分布.威布尔分布)为例 关于Weibull分布(韦伯分布.威布尔分布),请参考本人博客http://www.cnblogs.com/wwxbi/p/6141501.h ...

  3. IntelliJ IDEA最新版完美破解激活

    IntelliJ IDEA号称是目前最好最强最智能的Java IDE,默认已经集成了几乎所有主流的开发工具和框架.目前最新版为2017.2.5(2017.2.5已经不是最新,但是写教程的时候2017. ...

  4. POJ1860 Currency Exchange【最短路-判断环】

    Several currency exchange points are working in our city. Let us suppose that each point specializes ...

  5. 2.4scope

    name_scope variable_scope scope (name_scope/variable_scope) from __future__ import print_function im ...

  6. PyQT5-QCalendarWidget 日历显示

    """ QCalendarWidget:提供了日历插件 Author:dengyexun DateTime:2018.11.22 """ f ...

  7. SVN里直接把本地目录纳入管理

    如果本地有个已有的目录,要直接纳入SVN管理,怎么办呢?直接在Repository Browser里面 Add folder,但这样虽然把目录加到SVN,但本地目录没有纳入管理,你还要重新又下到本地才 ...

  8. sublime text3控制台每次报错会显示几行[ ]

    如下图所示,每次编译报错的时候会显示: 我只需要报错信息,不想红框中的信息出现. 解决方案: 1 找到sublime Text3安装路径下的Default.sublime-package,如~Subl ...

  9. 虚拟机中安装Ubuntu 16.04

    1.安装vmware软件(虚拟机管理软件) https://blog.csdn.net/salmon_zhang/article/details/79468918 2.安装Ubuntu https:/ ...

  10. Django +uwsgi+python3+nginx + mysql 部署

    环境: 服务器ip:192.168.0.110 centos服务器 6.4 + mysql 5.6 + django1.11 +nginx 1.13.7 + uwsgi 2.0.18 uwsgi介绍 ...