字符串判断是否为大小写
print ‘123’.isdigit()
print ‘123abc’.isdigit()
#判断字符串是否为数字
print ‘Hello’.istitle()
print ‘HeLlo’.istitle()
#title:标题 判断某个字符串是否为标题(第一个首字母大写,其余字母小写)
print ‘hello’.upper()
#将字符串输出为大写字母
print ‘hello’.islower()
#判断字符串是否为小写字母
print ‘HELLO’.lower()
#将字符串输出为大写字母
print ‘HELLO’.isupper()
#判断字符串是否为大写字母
print ‘hello’.isalnum()
#判断字符串是否是数字与字母
print ‘123’.isalpha()
print ‘qqq’.isalpha()
#判断字符串是不是字母
pycharm的安装与使用
1.pycharm的安装
1.下载pycharm并安装到任意目录下
2.进入pycharm目录下的bin目录下找到pycharm.sh
3.sh pycharm,sh打开pycharm(注意使用有图形界面的用户登录)
4.进入并设置python3路径
5.更改字体和添加头文件
2.pycharm 的使用
pycharm设置界面(ctrl+alt+s)
修改编辑界面字体
修改控制台界面字体
如何快速创建文件(alt+insert)
格式化python代码,使编程风格好看
如何撤销代码的修改(ctrl + z)
如何取消撤销的代码的修改(ctrl + shift + z)
快速重命名(shift + F6)
快速注释代码(ctrl + /)
快速取消注释代码(ctrl + /)
python常用内置方法
In [1]: min(2,4)
Out[1]: 2
In [2]: max(2,4)
Out[2]: 4
In [3]: sum(range(1,101))
Out[3]: 5050
In [4]: sum(range(2,101,2))
Out[4]: 2550
In [5]: sum(range(1,101,2))
Out[5]: 2500
#枚举:返回索引值和对应的value值
for i,v in enumerate(‘hello’):
print(str(i) + ‘--------->’ + v)
0--------->h
1--------->e
2--------->l
3--------->l
4--------->o
#将两个字符串中的单元一一对应
s1 = ‘abc’
s2 = ‘123’
for i in zip(s1,s2):print(i)
(‘a’, ‘1’)
(‘b’, ‘2’)
(‘c’, ‘3’)
for i in zip(s1,s2):
print(’-’.join(i))
a-1
b-2
c-3
列表
1. 列表的创建
(数学意义上)数组:存储同一种数据类型的集和 scores=[1,2,33,44]
列表(打了激素的数组):可以存储任意数据类型的集和
li = [1,2.2,True,‘hello’]
print(li,type(li))
列表里面是可以嵌套列表的
li = [1,2,3,False,‘python’,[1,2,3,4,5]]
print(li,type(li))
import random
li = list(range(10))
random.shuffle(li)
print(li)
2.列表的特性
service = [‘http’,‘ssh’,‘ftp’]
#索引
#正向索引
print(service[0])
#反向索引
print(service[-1])
#列表里面嵌套列表的索引
service2 = [[‘http’,80],[‘ssh’,22],[‘ftp’,21]]
print(service2[0][0])
print(service2[-1][1])
#切片
print(service[::-1]) # 列表的反转
print(service[1::]) # 除了第一个之外的其他元素
print(service[:-1]) # 除了最后一个之外的其他元素
#重复
print(service * 3)
#连接
service1 = [‘mysql’,‘firewalld’]
print(service + service1)
#成员操作符
print(‘firewalld’ in service)
print(‘ftp’ in service)
print(‘firewalld’ not in service)
print(‘ftp’ not in service)
3.列表元素的增加
service = [‘http’, ‘ssh’, ‘ftp’]
#相当于连接两个列表
print(service + [‘firewalld’])
#append:追加,追加一个元素到列表中
service.append(‘firewalld’)
print(service)
#extend:拉伸,追加多个元素到列表中
service.extend([‘hello’,‘python’])
print(service)
#insert:在索引位置插入元素
service.insert(0,‘firewalld’)
print(service)
4.列表元素的删除
li = [1,2,3,4]
#pop()删除默认删除最后一个字符,可以在括号中加入索引号来指定删除
li.pop()
li.pop(0)
service = [‘http’, ‘ssh’, ‘ftp’]
#remove删除指定元素
service.remove(‘ftp’)
clear:清空列表里面的所有元素
service.clear()
del(python关键字) 从内存中删除列表
#删除第一个索引值对应的元素
del service[1]
#删除前两个元素之外的其他元素
del service[2:]
5.列表元素的修改
service = [‘ftp’,‘http’, ‘ssh’, ‘ftp’]
#通过索引,重新赋值
service[0] = ‘mysql’
#通过slice(切片)
service[:2] = [‘mysql’,‘firewalld’]
6.列表元素的查看
service = [‘ftp’,‘http’, ‘ssh’, ‘ftp’,‘ssh’,‘ssh’]
#查看元素出现的次数
print(service.count(‘ftp’))
#查看制定元素的索引值(也可以指定范围)
#print(service.index(‘ssh’))
#print(service.index(‘ssh’,4,8))
#排序查看(按照ascii码进行排序)
print(service.sort(reverse=True))
print(service)
#对字符串排序不区分大小写
phones = [‘alice’,‘bob’,‘harry’,‘Borry’]
#都变成小写字母进行排序
phones.sort(key=str.lower)
#都变成大写字母进行排序
phones.sort(key=str.upper)
练习
1.字符串判断练习
变量名是否合法?
1.变量名可以由字母,数字或下划线组成
2.变量名只能以字母或下划线开头
s = ‘hello@’
while True:
var=input(‘请输入变量名’)
if var==‘exit’:print(‘退出程序’)
breakelse:
if not (var[0].isalpha() or var[0]==’_’) :
print(‘该变量名不合法’)
else:
for i in var[1:]:
if not(i.isalnum() or i==’_’) :
print(‘该变量不合法’)
breakelse:
print(‘该变量名合法’)
结果展示:
2.列表练习1
根据用于指定月份,打印该月份所属的季节。
提示: 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季
month = input(‘请输入月份:’)
if month in [3,4,5]:print(‘该季节为春季’)
elif month in [6,7,8]:
print(‘该季节为夏季’)
elif month in [9,10,11]:
print(‘该季节为秋季’)
else:
print(‘该季节为冬季’)
结果展示:
3. 列表练习2
假设有下面这样的列表:
names = [‘fentiao’,‘fendai’,‘fensi’,‘fish’]
输出的结果为:‘I have fentiao,fendai,fensi and fish’
names = [‘fentiao’,‘fendai’,‘fensi’,‘fish’]
print('I have ’ + ’ , ’ . join(names[:-1]) + ’ and ’ + names[-1])
结果展示:
4. 列表练习3
栈的工作原理:先进后出
入栈
出栈
栈顶元素
栈的长度
栈是否为空
info = “”"
1.入栈
2.出栈
3.栈顶元素
4.栈的长度
5.栈是否为空
q:退出程序
“”"
box=[]
while Ture:print(info)
choice = input(‘请输入需要进行的操作’)
if choice==‘1’:ruzhan=input(‘请输入入栈元素’)
box.append(ruzhan)
print(‘元素%s入栈成功’ %(ruzhan))elif choice==‘2’:
if len(box)==0:
print(‘栈为空,无法出栈’)
else:
chuzhan=box.pop()
print(‘元素%s出栈成功’ %(chuzhan))elif choice==‘3’:
if len(box)==0:
print(‘栈为空,无栈顶元素’)
else:
print(‘栈顶元素为%s’ %(box[-1]))
elif choice==‘4’:
print(‘栈的长度为%s’ %(len(box)))
elif choice==‘5’:
if len(box)==0:
print(‘栈为空’)
else:
print(‘栈不为空’)
elif choice==‘q’:
print(‘退出程序’)
breakelse:
print(‘请输入正确的指令’)
部分结果展示:
队列的工作原理:先进先出
入队
出队
队头
队尾
队列是否为空
显示队列元素
info="""
1.入队
2.出队
3.队头
4.队尾
5.队列是否为空
6.显示队列元素
7.退出程序
“”"
box=[]
while True:print(info)
choice = input(‘请输入需要进行的操作’)
if choice==‘1’:ruzhan=input(‘请输入入队元素’)
box.append(ruzhan)
print(‘元素%s入队成功’ %(ruzhan))elif choice==‘2’:
if len(box)==0:
print(‘队列为空,无法出队’)
else:
chuzhan=box.pop(0)
print(‘元素%s出队成功’ %(chuzhan))elif choice==‘3’:
if len(box)==0:
print(‘队为空,无队头元素’)
else:
print(‘栈头元素为%s’ %(box[0]))
elif choice==‘4’:
if len(box)==0:
print(‘队为空,无队尾元素’)
else:
print(‘栈尾元素为%s’ %(box[-1]))
elif choice==‘5’:
if len(box)==0:
print(‘队列为空’)
else:
print(‘队列的长度为%s’ %(len(box)))
elif choice==‘6’:
if len(box)==0:
print(‘队列为空’)
else:
print(box)
elif choice==‘7’:
print(‘退出程序’)
breakelse:
print(‘请输入正确的指令’)
结果展示:
5.用户管理系统1
1). 系统里面有多个用户, 用户信息目前保存在列表里面;
users = [‘root’, ‘westos’]
passwds = [‘123’, ‘456’]
2). 用户登陆(判断用户登陆是否成功):
1). 判断用户是否存在?(inuser in users)
2). 如果存在:
1). 判断用户密码是否正确?
(先找出用户对应的索引值, 根据passwds[索引值拿出该用户的密码)
如果正确: 登陆成功, 退出循环;
如果密码不正确, 重新登陆, 总共有三次登陆机会
3). 如果不存在:
重新登陆, 总共有三次登陆机会
users=[‘root’,‘westos’]
passwds=[‘123’,‘456’]
trycount = 0
while trycount < 3:inuser = input(‘用户名:’)
inpasswd = input(‘密码:’)
trycount += 1
if inuser in users:index = users.index(inuser)
passwd = passwds[index]
if inpasswd == passwd:print(’%s登陆成功’ % (inuser))
breakelse:
print(’%s登陆失败:密码错误’ % (inuser)
else:
print(‘用户%s不存在’ % (inuser))
else:
print(‘已经超过3次机会了~’)
结果展示:
6.用户管理系统2
- 后台管理员只有一个用户: admin, 密码: admin
- 当管理员登陆成功后, 可以管理前台会员信息.
- 会员信息管理包含:
1.添加会员信息
2.删除会员信息
3.查看会员信息
4.退出
i=0
while i < 3:name=input(‘请输入用户名’)
passwd=input(‘请输入密码’)
i+=1
if name==‘admin’ and passwd==‘admin’:print(‘登录成功’)
breakelse:
print(‘账号或密码错误,请重新输入’)else:
print(‘机会已经用尽,请稍后再试’)
exit()info="""
1.添加会员信息
2.删除会员信息
3.查看会员信息
4.退出
“”"
names=[]
passwds=[]
while True:print(info)
choice=input(‘请输入需要进行的操作’)
if choice==‘1’:name=input(‘请输入需要添加的用户账号’)
passwd=input(‘请输入需要添加的用户信息’)
if not(name in names):names.append(name)
passwds.appnend(passwd)
print(‘用户%s已经添加’ %(name))else:
print(‘用户已经存在,无法添加’)
elif choice==‘2’:
name=input(‘请输入需要删除的用户:’)
if name in names:a=names.index(name)
names.remove(name)
passwds.pop(a)
print(‘用户%s删除成功’ %(name))else:
print(‘该用户不存在,请重新操作’)
elif choice==‘3’:
name=input(‘请输入需要查看的用户’)
if name in names:a=names.index(name)
print(‘用户:%s\t信息:%s’ %(name,passwds[a]))else:
print(‘该用户不存在,请重新操作’)
elif choice==‘4’:
print(‘欢迎下次使用’)
breakelse:
print(‘请输入正确的指令’)
结果展示: