1.检测大写字母 detect-capital
我们定义,在以下情况时,单词的大写用法是正确的:
- 全部字母都是大写,比如"USA"。
- 单词中所有字母都不是大写,比如"leetcode"。
- 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
- 否则,我们定义这个单词没有正确使用大写字母。
注意: 输入是由大写和小写拉丁字母组成的非空单词。
下面是编写的代码,可供参考:
word = input("请输入单词:")
# 如果任意一个为真, 则返回真, 如果全为假, 则返回假;
print(any([word.isupper(), word.islower(), word.istitle()]))
结果示例:
2.学生出勤记录 student-attendance-record
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
- 'A' : Absent,缺勤
- 'L' : Late,迟到
- 'P' : Present,到场
如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。
你需要根据这个学生的出勤记录判断他是否会被奖赏。
下面是编写的代码,可供参考:
s = input("请输入学生的出勤记录:")
print(s.count('A')<=1 and s.count('LLL') < 1)
结果示例:
3.机器人能否返回原点 robot-return-to-origin
在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。
移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。
注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。
下面为编写的代码,可供参考:
moves = input()
# moves.count('L')-向左移动的步数 moves.count('R')-向右移动的步数
result = (moves.count('L') == moves.count('R') and moves.count('U') == moves.count('D'))
print(result)
结果示例:
4.小学生计算能力测试系统
设计一个程序,用来实现帮助小学生进行算术运算练习,它具有以下功能:
提供基本算术运算(加减乘)的题目,每道题中的操作数是随机产生的,练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。最后显示正确率。
思路:
- 运行程序, 输入测试数字的大小范围
- 输入测试题目数量
- 任意键进入测试
- 系统进行测试并判断对错
- 系统根据得分情况进行总结,退出程序
下面是编写的代码,可供参考:
import random
def compute(start=1, end=10, count=10):
print("小学生计算能力测试系统".center(50, '*'))
true_count = 0 # 统计正确的题目个数
for item in range(count):
print("第%d道:" %(item+1), end=' ')
num1 = random.randint(start, end)
num2 = random.randint(start, end)
# 从加减乘随机选取一个符号;
operator = random.choice(['+', '-', '*'])
print("%s %s %s=" %(num1, operator, num2), end=' ')
in_result = int(input())
true_result = eval("%s %s %s" %(num1, operator, num2))
if in_result == true_result:
print("正确")
true_count += 1
else:
print("错误")
print("此次测试结束, 正确率: %.2f%%" %((true_count/count)*100))
if __name__ == '__main__':
# start = int(input("运算数的开始值:"))
# end = int(input("运算数的结束值:"))
# count = int(input("请输入测试题目数量:"))
compute()
结果示例: