python (4)

这篇博客提供了一系列Python编程练习题,包括检查学生的出勤纪录以判断是否会被奖赏,以及一系列字符串操作,如单词反转、加法题目生成、列表操作和用户登录验证。通过这些练习,可以帮助学习者提升Python编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string

练习

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

s = input()
if s.count('A') <= 1 and s.count('LLL') == 0:
    print(True)
else:
    print(False)
print(s.count('A') <= 1 and s.count('LLL') == 0)

 

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

- 示例1:

```
- 输入
    hello xiao mi
- 输出
    mi xiao hello
 

 

li = input().split()
print(li)
print(li[::-1])
print(' '.join(li[::-1]))
print(' '.join(input().split()[::-1]))

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

import random

count = 0
right = 0

while True:
    a = random.randint(0,9)
    b = random.randint(0,9)
    print('%d+%d=' %(a,b))
    question = input('Please input your answer:(q for exit)')
    result = a + b
    if question == str(result):
        print('OK!')
        right += 1
        count += 1
    elif question == 'q':
        break
    else:
        print('Failed!')
        count += 1

percent = right / count
print('测试结束,共回答%d道题,正确个数为%d,正确率为%.2f%%' %(count,right,percent * 100))

 list

练习

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

 添加,扩展,指定位置插入

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

#1
print(service + ['firewalld'])

#2.append
service.append('firewalld')
print(service)

#3.extend
service.extend(['mysql','firewalld'])
print(service)

#4.insert
service.insert(1,'samba')
print(service)

移除元素

直接删除列表

统计多个元素出现的次数

随机打乱,排序

练习

1.系统里面有多个用户,用户的信息目前保存在列表里面
    users = ['root','westos']
    passwd = ['123','456']
2.用户登陆(判断用户登陆是否成功
    1).判断用户是否存在
    2).如果存在
        1).判断用户密码是否正确
        如果正确,登陆成功,推出循环
        如果密码不正确,重新登陆,总共有三次机会登陆
    3).如果用户不存在
    重新登陆,总共有三次机会

users = ['root', 'westos']
passwds = ['123', '456']

trycount = 0

while trycount < 3:
    inuser = input('Username:')
    inpasswd = input('Password:')
    trycount += 1

    if inuser in users:
        index = users.index(inuser)
        passwd = passwds[index]
        if inpasswd == passwd:
            print('%s login success!' %inuser)
            break
        else:
            print('%s login failed: password not correct!' %inuser)
    else:
        print('User %s not exist!' %inuser)

else:
    print('no more chance!')

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

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('Please input your choice:')
        if choice == '1':
            pass
        elif choice == '2':
            pass
        elif choice == '3':
            pass
        elif choice == '4':
            exit()
        else:
            print('Please check your input!')
else:
    print('管理员登陆失败!')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值