Python04 字符串与列表的应用

字符串的常规操作

s = 'hello world'
print(s.find('hello'))  #字符串的搜索
print(s.find('world'))
print(s.replace('world','yueyue')) #字符串的替换
print(s.replace('world','yueyue').upper())
print('HELLO YUEYUE'.center(30,'*')) #字符串的居中

# 测量函数长度
print(len('string'))

# 字符串的分离
s = '192.168.1.32'
s1 = s.split('.')
print(s1)
print(s1[::-1])
s =  'hello'
print(s.count('l'))

# 字符串的连接
date = '2020-5-51'
s1 = date.split('-')
print(s1)
print('*'.join(s1))

练习:

给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符>:
'A' : Absent,缺勤
'L' : Late,迟到
'P' : Present,到场
如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),
那么这个学生会被奖赏。
你需要根据这个学生的出勤纪录判断他是否会被奖赏。
示例 1:
输入: "PPALLP"
输出: True
示例 2:
输入: "PPALLL"
输出: False 

for i in range(2):
    s = input('Please input:')
    if s.count('A') <= 1 and s.count('L') <= 2:
        print('True')
    else:
        print(False)

- 题目描述:
> 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用
空格分割, 单词之间只有一个空格,前后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”
- 输入描述:
> 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
- 输出描述:
> 对于每个测试示例,要求输出句子中单词反转后形成的句子
- 输入
    hello xiao mi
- 输出
    mi xiao hello

s = input('Please Input:')
s1 = s.split(' ')
print(s1)
print(' '.join(s1[::-1]))

 设计一个程序,帮助小学生练习10以内的加法
        详情:
                - 随机生成加法题目;
                - 学生查看题目并输入答案;
                - 判别学生答题是否正确?
                - 退出时, 统计学生答题总数,正确数量及正确率(保留两>位小数点);

import random
count = 0
right = 0

while True:
    a = random.randint(0,10)
    b = random.randint(0,10)
    print('%d+%d=' %(a,b))
    question = input('Please your answer(q is exit):')
    result = a + b
    if  question == str(result):
        print('nice')
        right += 1
        count += 1
    elif question == 'q':
        break
    else:
        print('faild')
        count += 1
peace = right / count
print('练习结束,回答%d道题,正确个数为%d,正确率为%.2f%%' %(count,right,peace * 100))

测试: 

2.列表

#列表
name = ['leilei','yueyue',True,[1,2,3,4,5]]
print(name)
print(type(name))
#索引
print(name[-1][2])
print(name[-1])
print(name[0])

name = ['leilei','yueyue',True,[1,2,3,4,5]]
#切片
print(name[1:])
print(name[::-1])
#重复
print(name * 3)

name = ['leilei','yueyue',True,[1,2,3,4,5]]
#连接
name2 = ['baipeng']
print(name + name2)
# 追加 每次只能加一个
name.append('cc')
print(name)
#extend 拉伸
name.extend(['adong','abang'])
print(name)
# 添加
name.insert(0,'bp')
print(nam

\

name = ['leilei','yueyue',True,[1,2,3,4,5]]
#成员错作符
#in / not in
print('yueyue' in name)
print('yueyue' not in name)

name = ['leilei','yueyue',True,[1,2,3,4,5]]
#删除
#弹出一个元素 pop
a = name.pop(0)
print(name)
print(a)

name = ['leilei','yueyue',True,[1,2,3,4,5]]
print(name)
# print(a)
# remove
removea =name.remove('leilei')
print(name)

#del
name = ['leilei','yueyue',True,[1,2,3,4,5]]
print(name)
del name
print(name)

#改
#索引
name = ['leilei','yueyue',True,[1,2,3,4,5]]
name[0] = 'yang'
print(name)

#切片
print(name[:1])
name[:1] = ['yue']
print(name)

#查看
# count
 print(name.count('yueyue'))

#排序
s= [1,9,7,6,4,5,8,3,4]
s.sort()
print(s)
import random
li = list(range(10))
print(li)
random.shuffle(li)
print(li)

练习

 假定有下面这样的列表:
    names = ['fentiao', 'fendai', 'fensi', 'apple']
    输出结果为:'I have fentiao, fendai, fensi and apple.'

name = ['fentiao', 'fendai', 'fensi', 'apple']
print(' I have ' + ', ' .join(name[:-1]) + ' and ' + name[3])

会员管理

1. 后台管理员只有一个用户: admin, 密码: admin
2. 当管理员登陆成功后, 可以管理前台会员信息.
3. 会员信息管理包含:
      添加会员信息
      删除会员信息
      查看会员信息
      退出


print('用户登陆'.center(40,'*'))
inuser = input('请输入用户名称:')
inpasswd = input('请输入用户密码:')

users = ['root','yueyue']
passwds = ['redhat','yueyue']
if inuser == 'admin' and inpasswd == 'admin':
    print('用户登陆成功')
    print('用户管理系统'.center(40,'*'))
    while True:
        print("""
            目录
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        """)
        choice = input('选择:')
        if choice == '1':
            print('添加会员信息'.center(30,'*'))
            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(30,'*'))
            userdel = input('请输入会员名称:')
            if userdel in users:
                delIndex = users.index(userdel)
                users.remove(userdel)
                passwds.pop(delIndex)
                print('删除会员%s成功'%userdel)
            else:
                print('会员信息不存在')
        elif choice == '3':
            print('查看会员信息'.center(30,'*'))
            print('\t会员\t密码')
            UserCount = len(users)
            for i in range(UserCount):
                print('\t%s\t%s' %(users[i],passwds[i]))
        elif choice == '4':
            print('退出')
            exit()
        else:
            print('重新输入选择')
else:
        print('管理员登陆登陆失败')

测试:

添加模块

查看模块

删除模块

退出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值