字符串知识练习

给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
‘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 hua wei
    输出wei hua hello
#li = input().split()
#print(li)
#print(li[::-1])
#print(' '.join(li[::-1]))
print(' '.join(input().split()[::-1]))	##输入字符串,对字符串反转分离,再连接

在这里插入图片描述

  • 题目描述:
    输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,>输入”They are students.”和”aeiou”,
    则删除之后的第一个字符串变成”Thy r stdnts.”
  • 输入描述:
    每个测试输入包含2个字符串
  • 输出描述:
    输出删除后的字符串
    示例1:
    输入They are students.
    aeiou
    输出Thy r stdnts.
str1 = input()
str2 = input()
for i in str2:
    str1 = str1.replace(i,'')
print(str1)

在这里插入图片描述

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

import random

count = 0	##定义答题总数的计数器
right = 0	##定义答题正确的计数器

while True:
    a = random.randint(0,9)	##随机数0-9赋值到变量a
    b = random.randint(0,9)	##随机数0-9赋值到变量b
    print('%d+%d=' %(a,b))	##打印输出a+b
    question = input('Please input your answer:(q for exit)')	##输入答案或q退出答题环境
    result = a + b	##计算机内部求和,不显示到终端
    if question == str(result):	##如果回答正确
        print('OK!')	##打印输出OK
        right += 1	##正确数+1
        count += 1	##答题数+1
    elif question == 'q':	##如果选择退出
        break	##退出循环
    else:	##回答错误
        print('Failed!')	##打印输出Failed
        count += 1	##答题数+1

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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python语言实现该功能,代码如下: ```python # 输入字符串 s = input("请输入字符串:") # 转换大小写 result = "" for c in s: if c.isupper(): result += c.lower() elif c.islower(): result += c.upper() else: result += c # 输出结果 print("转换后的字符串为:", result) ``` 运行程序后,输入一个字符串,程序会将其中的大写字母转为小写,小写字母转为大写,其他字符保持原样,最后输出转换后的字符串。 ### 回答2: 在编程中,字符串是非常常见的数据类型,对字符串进行操作也是程序员必备的技能之一。本题要求输入一个字符串,将其中的大写字母转换为小写字母,小写字母转换为大写字母,其他字符保持原样,最后输出转换后的字符串。 我们可以使用循环语句逐个读取字符串中的字符,并判断该字符是否为大写或小写字母,然后进行相应的转换。 具体实现步骤如下: 1. 定义一个字符串变量存储输入的字符串,例如str。 2. 定义一个空字符串变量,例如new_str。 3. 使用for循环逐个读取str中的字符,对于每个字符c,进行以下判断: 如果是大写字母,则将其转换为小写字母,然后添加到new_str中。 如果是小写字母,则将其转换为大写字母,然后添加到new_str中。 如果不是字母,则直接将其添加到new_str中。 4. 循环结束后,输出new_str即可。 具体代码如下: ``` str = input("请输入一个字符串:") # 输入字符串 new_str = "" # 定义空字符串 for c in str: if c.isupper(): # 如果是大写字母 new_str += c.lower() # 转换为小写字母 elif c.islower(): # 如果是小写字母 new_str += c.upper() # 转换为大写字母 else: new_str += c # 非字母字符保持原样 print("转换后的字符串为:", new_str) # 输出转换后的字符串 ``` 以上就是实现该问题的具体过程,通过练习和实践可以更好地掌握字符串的操作技巧,提高编程水平。 ### 回答3: 本题需要使用到字符串的相关知识以及条件判断语句的使用。 首先,我们需要将用户输入的字符串存储在一个字符串变量中,这可以通过标准输入函数scanf或者gets实现,我们可以使用scanf函数: ```c char str[100]; // 定义一个字符串变量 scanf("%s", str); // 将用户输入的字符串存储在str中 ``` 接着,我们需要遍历这个字符串,找出其中的大写字母和小写字母,并将它们互换位置,这可以通过一个for循环结合条件判断语句来实现: ```c for (int i = 0; str[i] != '\0'; i++) { if (str[i] >= 'a' && str[i] <= 'z') { str[i] = str[i] - 'a' + 'A'; // 小写字母转大写字母 } else if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = str[i] - 'A' + 'a'; // 大写字母转小写字母 } } ``` 最后,我们将转换后的字符串输出即可,可以通过标准输出函数puts或printf实现,这里以puts为例: ```c puts(str); // 输出转换后的字符串 ``` 完整代码如下: ```c #include <stdio.h> int main() { char str[100]; // 定义一个字符串变量 scanf("%s", str); // 将用户输入的字符串存储在str中 for (int i = 0; str[i] != '\0'; i++) { if (str[i] >= 'a' && str[i] <= 'z') { str[i] = str[i] - 'a' + 'A'; // 小写字母转大写字母 } else if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = str[i] - 'A' + 'a'; // 大写字母转小写字母 } } puts(str); // 输出转换后的字符串 return 0; } ``` 这样,我们就成功地实现了将字符串中的大写字母转为小写,小写字母转为大写,其他字符保持原样的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值