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 ...
随机推荐
- CSS 盒子模型 二
Sublime 快捷键: 文件保存后,输入 html:xt + tab ,补全html html:xt <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- Olivia Palermo & Johannes Huebl 模范情侣
男才女貌,模范情侣-- 以后引用情侣时就用这个图了~ ref: http://bbs.55bbs.com/thread-8250584-1-1.html
- T49
明天参加媳妇朋友的婚礼.今天晚上的火车,下班后匆忙的打了个的,正好到的哥交接班的时间拦了几辆车都不拉火车站!无奈-五分钟后打上车接上媳妇去火车站!正值五中学生放假路上各种堵!安阳这四线城市什么时候变的 ...
- MongoDB 学习笔记2----条件操作符
条件操作符:用于两个比较两个表达式并从mongdb中获取文档 mongodb常见的操作符及解析说明 $lt:小于 example:ago<20 $lte:小于等于 example:<=20 ...
- Zabbix显示乱码解决办法
Zabbix在web页面会显示乱码,如下图所示 在windows下面文件夹C:\Windows\Fonts找一个简体字文件例如simkai.ttf 复制到zabbix server的文件夹/usr/s ...
- Sorted sets
Redis in Action JOSIAH L. CARLSON MANNING Shelter Island ZSETs offer the ability to store a mapping ...
- 币安Binance API
本文介绍币安Binance API General API Information The base endpoint is: https://api.binance.com All endpoint ...
- count(*) count(1) count(column)区别
count(*) 和count(1)的效果是一样的.在某些情况下效率不一样.也会统计包含null的记录. count(column)会返回当前字段不为null的记录数.
- 用Monitor简单3步监控中间件ActiveMQ
Apache ActiveMQ是一个基于JMX规范的纯Java消息中间件,它为应用系统提供高效.灵活的消息同步与异步传输处理.存储转发.可靠传输的特性. 消息队列对于应用的健康运行非常重要,作为运维人 ...
- Javascript修正this的引用
1.使用this作为参数来传递给函数.因为this始终与当前对象一致. <!DOCTYPE html> <html> <head> <meta charset ...