Python-sys模块,异常
习题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()
Python-sys模块,异常的更多相关文章
- python sys模块(12)
在python sys模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数!关于sys模块在官网也有详细的介绍:python sys模块官方介绍. 一.sys模块简介 sys.arg ...
- Python——sys模块
七.sys模块 sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传递参数. sys.exit([arg]): 程序中间的退出,arg=0为正常退出. sys.getdefaulten ...
- python sys模块使用详情
python常用模块目录 sys模块提供了一系列有关Python运行环境的变量和函数.1.sys.argv可以用sys.argv获取当前正在执行的命令行参数的参数列表(list).变量解释sys.ar ...
- Python sys模块 os模块、OS.open() | open() | OS._exit() | sys.exit() | exit()
sys模块:负责程序和Python交互. sys常用方法:=========================== sys.stdout.write('please:')val = sys.stdin ...
- python sys模块和序列化模块
sys模块是与python解释器交互的一个接口: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit( ...
- 第12.2节 Python sys模块导览
sys模块包括一些用于系统处理的功能,常用的成员包括: sys.argv:当前执行进程的命令参数列表,不含执行程序本身的名字: sys.stdin .sys.stdout 和 stderr :分别对应 ...
- python sys模块
sy模块主要用于:解析器及环境 命令行参数 python xx.py xx1 xx2注:xx.py: sys.argv[0] 脚本名称 xx1 sys.argv[1] 第1个参数退出程序 sys.ex ...
- python import 模块异常问题
新项目开始了,(tornado,python) 结果出现了一个比较诡异的问题. import 自己的在conf文件夹下配置文件settings的时候, from conf.settings impor ...
- Python—sys模块介绍
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxi ...
- Python sys 模块
import sys # 把命令行参数返回一个 List,第一个元素是程序本身的路径 print(sys.argv) # 命令行运行 python3 sys_model.py klvchen hell ...
随机推荐
- [SQL] 命令远程恢复数据库
sp_configure ; RECONFIGURE; GO sp_configure ; RECONFIGURE; GO EXEC master..xp_cmdshell 'net use \\70 ...
- JAVA unicode转换成中文
/** * * unicode 转换成 中文 * @param theString * @return */ public static String decodeUnicode(String the ...
- CodeFrist、ModelFirst、DatabaseFirst
一.CodeFirst 使用System.Data.Entity.DbContext与System.Data.Entity.DbSet构建的数据模型,没有可视化文件但只有实体类的称为CodeFirst ...
- Linux命令记录----chkconfig命令
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...
- Django之forms
Django forms 关于select和checkbox设置初始选中值 Django的forms和models一样很牛逼.他有两种功能,一是生成form表单,还有就是form表单的验证. 这里主要 ...
- 处理 Java Tomcat 的“Cannot allocate memory”错误
参考:https://www.cnblogs.com/rabbitpei/p/6738671.html 启动tomcat报错如下 临时生效 echo 1 > /proc/sys/vm/overc ...
- JAVA补充-接口
1.接口详解 package com.neusoft.interfaced; /** * 接口: * 语法:interface 接口名{ * public static final 变量1=值1: * ...
- NET技术公众号已上线
各位兄弟姐妹,本人构建技术微信号已正式上线,后续的技术分享主要以微信公众号为主,博客为铺,请各位有兴趣的同学关注. 微信公众号(wx51dotnet):
- Spring使用AspectJ注解和XML配置实现AOP
本文演示的是Spring中使用AspectJ注解和XML配置两种方式实现AOP 下面是使用AspectJ注解实现AOP的Java Project首先是位于classpath下的applicationC ...
- 在系统启动时,Windows Vista 中、 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TIME_WAIT 状态的所有 TCP/IP 端口
在系统启动时,Windows Vista 中. 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TI ...