python字符串练习

1.回文数判断

示例 1:
        输入: 121
        输出: true
示例 2:
        输入: -121
        输出: false
        解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因>此它>不是一个回文数。
示例 3:
        输入: 10
        输出: false
        解释: 从右向左读, 为 01 。因此它不是一个回文数。

num = input('Num:')
if num == num[::-1]:
    print('这是一个回文数')
else:
    print('这不是一个回文数')

2.

变量名是否合法:
 1.变量名可以由字母,数字或者下划线组成
 2.变量名只能以字母或者下划线开头
s = 'hello@'

1.判断变量名的第一个元素是否为字母或者下划线 s[0]
2.如果第一个元素符合条件,判断除了第一个元素之外的其他元素s[1:]

while True:
    s = input('变量名:')
    if s == 'exit':
        print('欢迎下次使用')
        break
    if s[0].isalpha() or s[0] == '_':
        for i in s[1:]:
            if not(i.isalnum() or i == '_'):
                print('%s变量名不合法' %s)
                break
        else:
            print('%s变量名合法' %s)
    else:
        print('%s变量名不合法' %s)

3.

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

 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)

4.

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

- 示例1:

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

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

5.

- 题目描述:
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例
如,输入”They are students.”和”aeiou”,
则删除之后的第一个字符串变成”Thy r stdnts.”
- 输入描述:
每个测试输入包含2个字符串
- 输出描述:
输出删除后的字符串
- 示例1:
```
输入
    They are students.
    aeiou
输出
    Thy r stdnts.
```
"""

s1 = input('s1:')
s2 = input('s2:')

for i in s1:
    if i in s2:
        s1 = s1.replace(i,'')

print(s1)

6.

设计一个程序,帮助小学生练习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('请输入您的答案:(q退出)')
     result = a + b
     if question == str(result):
         print('回答正确')
         right += 1
         count += 1
     elif question == 'q':
         break
     else:
         print('回答错误')
         count += 1

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

7.

小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以
下功能:
提供10道加、减、乘或除四种基本算术运算的题目;
练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否
正确并显示出相应的信息。

import random

count = 0
right = 0
while True:
    a = random.randint(0, 9)
    b = random.randint(0, 9)
    op = ['+', '-', '*', '/']
    s = random.choice(op)
    if s == '/' and b == 0:
        continue
    else:
        print('%d%s%d' % (a, s, b))
    r = str(input('请输入你的答案:(q退出)'))
    if s == '+':
        result = a + b
    elif s == '-':
        result = a - b
    elif s == '*':
        result = a * b
    elif s == '/':
        result = a / b
    # print(result)
    if str(result) == r:
        count += 1
        right += 1
        print('正确')
    elif r == 'q':
        break
    else:
        print('答题错误')
        count += 1
print('共答题%d道,正确%d道' % (count, right))
if count==0:
    exit()
else:
   percent = right / count
   print('正确率为%.2f' % (percent))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值