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 ...
随机推荐
- Android 国内集成使用谷歌地图
extends:http://blog.csdn.net/qduningning/article/details/44778751 由于众做周知的原因在国内使用谷歌地图不太方便,在开发中如果直接使用会 ...
- 让HTML标签、DIV、SPAN拥有focus事件和blur事件,聚焦和失焦
DIV和其他普通标签是不具有onfocus和onblur事件的.INPUT和A标签为什么拥有?而DIV和SPAN等普通标签却没有?有时候我们习惯性用键盘的TAB来移动光标,仔细看你会发现,光标只在IN ...
- Hive desc
Describe Database hive> DESCRIBE DATABASE test; test ??? hdfs://ns1/user/hive/warehouse/test.db w ...
- myeclipse乱码/GBK只支持中文
Windows>>Pereferences>>General>Editors>>Spelling>>Encoding选项下选择other,然后输入 ...
- ICSharpCode.SharpZipLib.dll 压缩多文件
网站:http://icsharpcode.github.io/SharpZipLib/ 引用:ICSharpCode.SharpZipLib.dll private string CompassZi ...
- 2.4scope
name_scope variable_scope scope (name_scope/variable_scope) from __future__ import print_function im ...
- python2和python3的不同
1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比Py2 ...
- Java不同压缩算法的性能比较 程序猿 2015-01-21 本文将会对常用的几个压缩算法的
Java不同压缩算法的性能比较 程序猿 2015-01-21 本文将会对常用的几个压缩算法的
- iOS-多语言版本的开发(一)(转载)
引言 多语言 & 本地化,随你怎么叫,道理差不多:一个App 要想走出国门,只支持一种语言是不能够的,也是不可能的,多元化世界已经融入我们的生活,对于一些应用,开发多语言版本,已经是不可避免 ...
- Map集合遍历
Map<String,String> map = new HashMap<String, String>(); map.put("1","java ...