-------------------------------python基础------------------------------
yum install python -y ####安装python
python中的对象:整数(十进制,十六进制,八进制,二进制),浮点数,复数,字符串
转义字符:
\' ####单引号 \" ####双引号 \\ #表示\
\a ####发出系统铃声 \n ####换行符
python中常用内置函数:
chr(x) ###返回编码为x的字符 hex(x) 将x转换为十六进制
list(x) ###将元组转换为列表 set([obj]) ###将obj转换为集合
str(obj) ###将obj转换为字符串 tuple(x) ###将列表转换为元组
input()函数可输入数字,字符串和其他对象.
raw_input()函数输出字符串.
在python中,到入一个模块后,就能使用模块中的函数和类:
eg: import math
>>> import math
>>> math.sin(0.5)
0.479425538604203
eg: from math import *
>>> from math import *
>>> sin(0.5)
0.479425538604203
序列基础知识(列表,元组,字典):
列表:列表是可变类型的序列,而元组与字符串是不可变类型的序列
eg:['nan',88,[1,2,3]]
列表切片:
增加元素:"+",list.append(),list.extend(),list.insert(index,'value')
检索元素:list.count(value),用 in 运算符,list.index()
删除元素:使用del list[index]删除某个特定位置的元素,list.remove('value'),list.pop()
列表常用函数:
cmp(list1,list2),len(list),max(list),min(list),sorted(list),reversed(list),sum(list)
元组:元组和列表相似,但元组的元素不可改变
eg:(0,'s')
元组切片:
检索元素:tuple.count('value'),in,tuple.index('value')
字典:键,值,字典定以后,可以利用键来查找值
编历字典:for key in dict.keys():
print (key,dict[key])
添加修改字典:dict['a']='b',dict['a']='c'
字典长度:len(dict);字典检索:in;删除元素和字典:del dict['key value'],del dict
表达式:
算术运算符:+,-,*,/,//,%,**,~
关系运算符:>,<,==,!=,<=,>=
测试运算符:in,not in,is,not is
逻辑运算符:and,or,not
7–5. userpw2.py. 下面的问题和例题 7.1 中管理名字-密码的键值对数据的程序有关。
(a)修改那个脚本,使它能记录用户上次的登录日期和时间(用 time 模块),并与用户密码一起
保存起来。程序的界面有要求用户输入用户名和密码的提示。无论户名是否成功登录,都应有提示,
在户名成功登录后,应更新相应用户的上次登录时间戳。如果本次登录与上次登录在时间上相差不
超过 4 个小时,则通知该用户: “You already logged in at: <last_ login_timestamp>.”
#!/bin/env python
#encoding:utf-8
import getpass
import time
import datetime
a = raw_input('请输入用户名:')
password = getpass.getpass('请输入登录密码:')
t = time.strftime('%Y-%m-%d %X',time.localtime())
t1 = time.strftime('%Y-%m-%d %X',time.localtime())
while(True):
if password != 'westos':
print t
print 'password is failed,please try again.'
password = getpass.getpass('请输入登录密码:')
print t1
else:
print 'login victory.'
print time.strftime('%Y-%m-%d %X',time.localtime())
break
7-8.
人力资源。创建一个简单的雇员姓名和编号的程序。让用户输入一组雇员姓名和编号。
你的程序可以提供按照姓名排序输出的功能,雇员姓名显示在前面,后面是对应的雇员编号。附加
题:添加一项功能,按照雇员编号的顺序输出数据。
#!/bin/env python
#encoding:utf-8
a = input('请输入总人数:')
la = []
lb = []
t = []
i = 1
while i < a+1:
m = raw_input('请输入雇员姓名:')
n = input('请输入雇员编号:')
la.append(m)
lb.append(n)
i+=1
t = zip(la,lb)
print sorted(t)
t1 = zip(lb,la)
print sorted(t1)
#!/bin/env python
#encoding:utf-8
print '雇员姓名以“#”结尾'
print '雇员编号以“0”结尾'
li = []
ti = []
t = []
a = raw_input('请输入一组雇员姓名:')
while a != '#':
li.append(a)
a = raw_input('请输入一组雇员姓名:')
b =input('请输入雇员的编号:')
while b != 0:
ti.append(b)
b = input('请输入雇员的编号:')
t = zip(ti,li)
print sorted(t)
t1 = zip(li,ti)
print sorted(t1)
8–11. 文本处理. 要求输入一个姓名列表,输入格式是“Last Name, First Name,” 即 姓,
逗号, 名. 编写程序处理输入, 如果用户输入错误, 比如“First Name Last Name,” , 请纠正这
些错误, 并通知用户. 同时你还需要记录输入错误次数. 当用户输入结束后, 给列表排序, 然后以
"姓 , 名" 的顺序显示.
输入输出示例(你不需要完全按照这里里例子完成):
% nametrack.py
Enter total number of names: 5
Please enter name 0: Smith, Joe
Please enter name 1: Mary Wong
>> Wrong format... should be Last, First.
>> You have done this 1 time(s) already. Fixing input... Please enter name 2: Hamilton,
Gerald
Please enter name 3: Royce, Linda
Please enter name 4: Winston Salem
>> Wrong format... should be Last, First.
>> You have done this 2 time(s) already. Fixing input...
The sorted list (by last name) is:
Hamilton, Gerald
Royce, Linda
Salem, Winston
Smith, Joe
Wong, Mary