Python----列表

1.charm的安装

官网下载pycharm压缩包

tar   xf  pycharm-community-2017.1.4.tar.gz   -C  /opt/           ##解压安装包到/opt目录

cd  /opt/

cd    pytharm-community-2017.1.4/

cd    bin/

. /pycharm.sh

输入charm则进去界面

2.pycharm快捷键的设置

pycharm设置界面(crtl + alt + s)

修改菜单栏;修改代码栏字体;修改python解释器位置

快速创建文件(alt +insert)

格式化python代码,使得风格好看(ctrl+ alt+l)

撤销代码的修改(ctrl +z)

快速重命名(shift +F6)

快速注释代码(ctrl + /)

快速取消注释代码(crtl + /)

3.列表的类型

数值类型;布尔类型;字符串类型;

数组:存储同一种类型的集和

列表(打了激素的数组)可以存储任意数据类型的集和

li =[1,1.2,2j+3,True,"hello“]

print(li,type(li))

列表里也可以嵌套列表

li1 =[1,1.2,2j+3,True,"hello",[1,2,3,4,5]]

print(li1,type(li1))

services2 =[['http,80'],['ssh',22],['ftp',21]]

4.列表的特性

services =['http','ssh','ftp']

索引: 正向索引print(services[0])

              反向索引print(services[-1])

print(services2[0][0])    ##正向索引第一个字符串的第一个字符

print(service2[-1][1])    ##反响索引第一个字符串的第二个字符

切片

print(services[::-1])     ##列表的反转

print(services[1:])##除了第一个之外的其他元素

print(services[:-1])   ##除了最后一个之外的其他元素

print(services2[:][1])                ##对ssh进行拷贝

print(services2[:-1][0])           ##切出http   ssh  再拿出http    ssh中的http

print(services2[0][:-1])           ##拿出http然后切出http中的htt

 

重复

print(services2*3)

连接

services=['myssql','firewalld']

print(services+services1)

成员操作符

print('firewalld' in services)

print('firewalld' not in services)

如何for循环遍历

print("服务显示".center(50,"*"))

for   service   in   services:

         print(service,end=',')            ##print输出不换行

python2:print不换行

python3:

print("hello",end =',')

例:根据月份打印该月份所属的季节

month = int(input('Month:'))

if    mouth   in  [3,4,5]:

       print("春季")

elif   mouth   in [6,7,8]:

         print("夏季")

elif   mouth   in [9,10,11]:

         print("秋季")

       else:

         print(“冬季”)

else:

         print("月份不合法")

Python----列表_第1张图片

4.列表元素的增加

append             ##追加,追加一个元素到列表中

services = ['http','ssh','ftp']

services.append('firewalld')

print(services)

extend               ##拉伸,追加多个元素到列表中

services.extend(['hello','firewalld','mysql'])

print(services)

insert:插入

services.insert(0,'firewalld')

print(services)

5.列表的删除

services = ['ftp', 'ssh', 'http', 'ftp']
services.pop()                       ##pop()括号内参数是要删除对象索引,如果为空默认为删除最后一项
 print(services)

 services.pop(0)
 


 remove

services.remove('ftp')

print(services)

services.remove('http')
print(services)

 

clear: 清空列表里面的所有元素
services.clear()
print(services)


 del : 删除列表元素的;
 print("删除列表第一个索引对应的值:", end=" ")
 del services[1]
print(services)

print("删除除前两个元素之外的其他元素:", end= ' ')
del services[2:]
print(services)

6.列表的修改

services = ['ftp', 'ssh', 'http', 'ftp']

通过索引, 重新赋值
services[0] = 'mysql'
print(services)

通过slice(切片)
services[:2] = ['mysql', 'firewalld']
print(services)

7.列表的查看

services = ['ftp', 'ssh', 'http', 'ftp']

 查看出现次数
print(services.count('ftp'))

 查看指定元素的索引值(也可与以指定范围查看)
print(services.index('ssh'))


print(services.index('ftp', 2, 8))          ##在某个区域内查找,如果具有多个则显示最前面的

排序查看, 按照Ascii码进行排序的;
print(services.sort())
print(services)

 对字符串排序不区分大小写
phones = ['alice', 'bob', 'harry', 'Borry']               ##区分大小写
phones.sort()

print(phones)

['Borry', 'alice', 'bob', 'harry']


phones.sort(key=str.lower)                 ##不区分大小写
print(phones)

随机生成10个整形数, 范围为1~10之间
 numbers = []

import   random                        注意:random是不能直接访问的,需要导入random模块(import  random)
for i in range(10):

       num = random.randint(1,10)
       numbers.append(num)
       print(numbers)
       numbers.sort()
       print(numbers)

Python----列表_第2张图片

import random
range(10)
range(0, 10)
li = list(range(10))
li
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

将原有的列表顺序打乱, 间接实现随机生成整形数
random.shuffle(li)
[1, 0, 4, 9, 3, 5, 8, 2, 7, 6]

Python----列表_第3张图片

 li.copy()
 li.reverse()


li = [1,4,2,5]
li1 = li.copy()

li=['1''4','6','8']                               ##反向列表元素

li.reverse()
print(li)
['8','6','4','1']

8.用户管理系统

 添加用户:

判断用户是否存在?

  如果存在, 报错,

  如果不存在,添加用户名和密码分别到列表中;

删除用户
判断用户名是否存在

如果存在,删除;
如果不存在, 报错;
 用户登陆
 用户查看
 通过索引遍历密码
退出

  系统里面有多个用户, 用户信息目前保存在列表里面;
        users = ['root', 'westos']
        passwds = ['123', '456']
  用户登陆(判断用户登陆是否成功):
  判断用户是否存在?(inuser in users)
  如果存在:
  判断用户密码是否正确?
  (先找出用户对应的索引值, 根据passwds[索引值拿出该用户的密码)
  如果正确: 登陆成功, 退出循环;
  如果密码不正确, 重新登陆, 总共有三次登陆机会
  如果不存在:
  重新登陆, 总共有三次登陆机会
users = ['root', 'westos']
passwds = ['123', '456']

 尝试登陆的次数
trycount = 0
while trycount < 3:
    inuser = input("用户名:")
    inpasswd = input("密码:")
     尝试次数加1
    trycount += 1
    if inuser in users:
        判断用户密码是否正确?
        index = users.index(inuser)  # 先找出用户对应的索引值
        passwd = passwds[index]
        if inpasswd == passwd:
            print("%s登陆成功" %(inuser))
            break
        else:
            print("%s登陆失败: 密码错误!" %(inuser))
    else:
        print("用户%s不存在" %(inuser))
else:
    print("已经超过三次机会")

Python----列表_第4张图片

Python----列表_第5张图片

9.后台管理员管理前台信息

例 后台管理员只有一个用户: admin, 密码: admin
 当管理员登陆成功后, 可以管理前台会员信息.
会员信息管理包含:

添加会员信息
删除会员信息
查看会员信息
 退出

print("管理员登陆".center(50, '*'))
inuser = input('UserName:')
inpasswd = input('Password:')
# 所有会员用户名
users = ['root', 'westos']
# 所有会员的密码
passwds = ['123', '456']

if inuser == 'admin' and inpasswd == 'admin':
    print("管理员登陆成功!")
    print("会员管理".center(50, '*'))
    while True:
        print("""
                        操作目录
            
           1 -    添加会员信息
           2 -    删除会员信息
           3 -    查看会员信息
           4 -    退出
        """)
        choice = input("请选择你的操作:")

 if choice == '1':
            print("添加会员信息".center(50, '*'))
            addUser = input("添加会员名:")
            if addUser in users:
                print("用户%s已经存在" %(addUser))
            else:
                addPasswd = input("密码:")
               users.append(addUser)
                passwds.append(addPasswd)
                print("添加用户%s成功" %(addUser))
        elif choice == '2':
            print("删除会员信息".center(50, '*'))
            delUser = input("删除会员名:")
            delIndex = users.index(delUser)
            users.remove(delUser)
            passwds.pop(delIndex)
            print("删除会员%s成功!" %(delUser))

        elif choice == '3':
            print("查看会员信息".center(50, '*'))
            print("\t用户名\t密码")
            userCount = len(users) 
            for i in range(userCount):
                print('\t%s\t%s' %(users[i], passwds[i]))
        elif choice == '4':
            exit()
        else:
            print("请输入正确的选择")
else:
    print("管理员登陆失败!")

Python----列表_第6张图片

Python----列表_第7张图片

Python----列表_第8张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Python----列表)