第二天学习
来源:互联网 发布:手机电脑文件软件 编辑:程序博客网 时间:2024/06/05 11:57
数据类型
数据类型分为整数类型、浮点类型、字符类型、布尔类型
a = 5 #整数类型a = 2**64 #长整数类型a = 5.1 #浮点类型a = 'abc' #字符串类型a = True #布尔类型
格式化字符串
Python中格式化字符串使用的是.format方法,具体写法如下
#替换字符串'{}' is pig'.format('xiaoming') #这种写法是python3的写法,花括号代表要替换的位置,format里面的数值是要替换进去的数值#多元素替换'{0} is {1}'.format('xiaoming','pig')'{name} is {type}'.format('name'='xiaoming','type'='pig')#列表替换user_info = ['xiaoming','13']'{0} age is {1}'.format(*user_info)#format方法接收List的时候需要带*#字典替换user_info = {'name':'xiaoming','age':13}'{name} age is {age}'.format(**user_info)#format方法接收dict的时候需要带**#通过下标替换user_list = [{'name': 'xiaoming'}, {'name': 'xiaohong'}]'{[1][name]} is pig '.format(user_list)#设置对齐和填充<^>这三个符号分别表示左对齐、居中对齐、右对齐具体格式为{:a<2}':'为格式符,<为对齐符号,默认是左对齐,2为填充宽度,a为填充内容#右对齐8个单位'{:>8}'.format('test')#居中对齐8个单位,并在空白处填充a'{:a^8}'.format('test')
列表
列表是一堆元素的集合,是有序的
#创建一个列表li = [1,2,3,4,5]li = list([1,2,3,4,5])li = [ x for x in range(5)]#向列表中添加元素li.append(6)#列表弹出指定索引元素,并且赋值li.pop(2)#根据value获得该value在列表中的索引位置li.index(value)#根据value删除元素li.remove(2)#根据索引删除元素del li[2]#在指定位置插入元素li.insert(2,'nihao')#遍历列表for i in li: print(i)#判断元素是否在这个列表中#切片li = [1,2,3,4,5,6]li[2:4] #获取索引2到3的值li[-4:-1] #获取倒数第4个到倒数第二个的值li[0:6:2] #隔一个元素切片#融合li = [1,2,3]li1 = [4,5,6]li2 = li + li1 #这个融合是生成一个新的列表li.extend(li1) #这个融合是将li1直接加入到li中#赋值li1 = li[1:-2]#统计元素出现次数li = [1,2,2,2]li.count(2)#排序li = [3,2,4,5]li.sort()li = [('xiaoming',13),('xiaohong',19)]li.sort(key=lambda age: age[1]) #使用lambda函数,对指定区域进行排序
元组
元组相对于列表来说是不可修改的
#创建元组tuple1 = (1,2,3,4)tuple1 = tuple((1,2,3,4))#删除元组tuple1 = (1,2,3,4)del tuple1
字典
字典中的内容是key:value的形式存放的
#创建字典dict1 = {'name':'xiaoming','age':13}#修改字典中的元素dict1['name'] = 'xiaohong'#向字典中添加元素dict1['sex'] = 'man'#删除字典中的元素del dict1['name']#遍历字典for i in dict.keys(): #遍历字典的keyfor i,m in dict.items(): #遍历字典的key,value
文件操作
Python中对于文件操作有open,file这些方法,这里只记住了open,
open(‘file_path’,’mode’,’encoding’)
file_path :是要打开的文件路径,mode是打开模式,一共分为一下几种模式
r 只读(默认)
w 只写(不可读,不存在则创建,存在则删除然后创建)
a 追加(可读,不存在则创建,存在则追加内容)
r+ 可读可写可追加
w+ 写读(先写后读)
a+ 同a
u 表示在读取时将\r\n 自动转换为\n,可以和r,r+同时使用
b 表示处理二进制文件,比如ftp发送iso文件,linux下可忽略,但是windows下处理二进制文件需要(rb,wb,ab)
读取中文需要加字符编码,open(‘test.log’,’r’,encoding=’utf-8’)
#创建一个新文件,并写入with open('test.log','w') as f: f.write('ni hao')#追加内容向文件中with open('test.log','a') as f: f.write('nihao')#open方法中读取文件有三种read()全部读取,readline()逐行读取with open('test.log','r') as f: #会将文件里的所有内容读取读取到内存中以字符形式保存 f.read(2)#表示读2个字节with open('test.log','r') as f: f.readlines() #会将文件里以行为分隔符,存入到一个列表当中with open('test.log','r') as f: for i in f: #逐行遍历文件 print(i)#文件指针#python中读取文件是以流的方式读取的seek() 定义当前文件指针的位置,添加等操作都是从指针当前位置开始的with open('test.log','a+') as f: f.seek(5) #将指针指向第5个字符 f.write('hello xiaoming') #从第五个字符开始追加truncate() 保留当前文件指针之前的内容并重新写入到文件,删除文件指针之后的所有内容
作业
作业1:编辑一个用户登陆入口要求如下
(1)用户输入用户名密码
(2)验证成功提示登陆成功信息
(3)输入3次不对则锁定该用户
作业2:3级菜单,包括省市要求可以自由进入多级菜单
#作业一#思路,肯定要有一个用户名密码文件,和一个锁定用户文件,用户登陆首先去锁定用户查找这个用户如果没有再去用户名密码文件匹配,如果超过三次没有成功则将这个用户加入到锁定用户文件。user_info.txt#正确用户信息文件xiaoming 123456xiaohong 123456lock_info.txt#锁定用户信息配置文件#!/usr/bin/env python# -*- coding:utf-8 -*-login_count = 0 # 初始化登陆次数while login_count < 3: user_name_list = []#创建用户列表 user_password_list = []#创建密码列表 login_name = raw_input('please input your name: ') login_passwd = raw_input('please input your password: ') with open('lock_info.txt', 'r+') as f:#判断用户是否锁定 lock_user_list = f.readlines() for i in range(len(lock_user_list)): lock_user_list[i] = lock_user_list[i].strip('\n') if login_name in lock_user_list: print('the user is lock') break with open('user_info.txt', 'r') as f:#将用户和密码分别放入两个列表中 for line in f: user_info = line.strip('\n')#去掉取出字符串的换行符号 user_info = user_info.split(' ')#用空格作为分隔符将字符串分割 user_name_list.append(user_info[0]) user_password_list.append(user_info[1]) if login_name in user_name_list:#判断用户名是否存在 login_index = user_name_list.index(login_name)#获取用户的索引 if str(login_passwd) == str(user_password_list[login_index]):#因为列表是有序的,所以用户列表的用户索引必然对应着密码列表的密码索引 print('{} login ok').format(login_name) break else: print('{} login faild').format(login_name) login_count += 1else: print('too many landings {} is been lock').format(login_name) with open('lock_info.txt', 'a+') as f: f.write('{}'.format(login_name))
#作业二#!/usr/bin/env python# -*- coding:utf-8 -*-first_list = ['beijing', 'tianjing', 'hubei']second_list = {'beijing': ['dongcheng', 'xicheng', 'haidian', 'fengtai', 'chaoyang'], 'tianjing': ['wuqing', 'nankai', 'hedong', 'heping'], 'hubei': ['wuhan', 'huanggang', 'xiangfan']}count = 0status = Truewhile status: print(first_list) input_user = raw_input('please input: ') if input_user in first_list: print(second_list[input_user]) count += 1 elif input_user == 'quit': if count == 0: break elif count == 1: count -= 1 else: print('{}is exits').format(input_user)
今天就学习到这啦。。
1 0
- 学习Python第二天
- hibernate学习 第二天
- 学习CRYPTO第二天
- Winpcap学习第二天
- 学习第二天
- java学习第二天
- .NET 学习 第二天
- PHP学习第二天
- Java学习第二天
- ajax学习第二天
- 学习ode第二天
- 学习第二天python
- ajax学习第二天
- c#学习第二天
- 学习CRYPTOAPI第二天
- 学习Java第二天
- unix学习第二天
- 学习第二天
- 设计模式 简单介绍
- Linux ubuntu 图形界面 输入登陆密码正确 闪回登陆界面 无法登录 实际问题解决!
- windows安装java开发环境
- 算法类练习
- 【漫谈】跨库事务控制方案
- 第二天学习
- JavaScrpt
- 2017-3-5使用libQGLViewer
- C++第2次实验(提高班)—选择循环程序设计 :项目2、项目6
- HDOJ 1002.A+B Problem II 答案
- opengl在Code::Blocks上的环境搭建
- MVC过滤器
- centos6.4搭建apache+mysql+php环境
- 【bzoj 1588】 [HNOI2002]营业额统计