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 ...
随机推荐
- [工具] CintaNotes
CintaNotes是一款非常轻巧实用的笔记软件,可看作EverNote轻量级替代品.CintaNotes只需1个exe,体积仅1MB,却拥有 EverNote易于收集.实时搜索.条状排列.tag分类 ...
- Spark2 Dataset去重、差集、交集
import org.apache.spark.sql.functions._ // 对整个DataFrame的数据去重 data.distinct() data.dropDuplicates() / ...
- 电话、地址、Email等常用正则表达式
正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达 ...
- hdu1754 I Hate It【线段树】
很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...
- SQL Fundamentals: 子查询 || 行列转换(PIVOT,UNPIVOT,DECODE),设置数据层次(LEVEL...CONNECT BY)
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
- ORACLE中Drop table cascade constraints之后果.
当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行..一个极简单的例子,例如你有一个员工基本资料表,上面 ...
- MySQL异步复制
准备:主备库版本一致,正常安装软件. 1.主库上设置一个复制使用的账户: mysql> grant replication slave on *.* to 'rep1'@'192.168.100 ...
- Taking a peek inside with the Actuator
Taking a peek inside with the Actuator <dependency> <groupId>org.springframework.boot< ...
- hibernate注解(一)JoinColumn
@Entity @Table(name="t_group") public class Group { private int id; private String name; p ...
- 深入浅出 TCP/IP 协议栈
写的不错:http://www.cnblogs.com/onepixel/p/7092302.html#3899256