python快速入门【六】----真题测试

python入门合集:

python快速入门【一】-----基础语法

python快速入门【二】----常见的数据结构

python快速入门【三】-----For 循环、While 循环

python快速入门【四】-----各类函数创建

python快速入门【五】---- 面向对象编程

python快速入门【六】----真题测试


python快速入门【六】----真题测试

将字符串转化成小写字母

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。

In [ ]

def toLowerCase(str: str) 
    #Put you anwser here
    return str

反转字符串中的单词

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例 1:

输入: "Let's take deep learning contest"

输出: "s'teL ekat peed gninrael tsetnoc"

In [ ]

def reverseWords(s: str) 
    #Put you anwser here
    return str

排列组合

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

In [ ]

def Permutation():
    list = []
    #Code goes here
    return list

阶乘

让函数FirstFactorial(num)接受传递的num参数并返回它的阶乘。例如:如果num = 4,则程序应返回(4 * 3 * 2 * 1)= 24.对于测试用例,范围将介于1和18之间,输入将始终为整数

In [ ]

def FirstFactorial(num): 


    return num
    
# keep this function call here  
print FirstFactorial(raw_input())  

整型转罗马数字

罗马数字 3 写做 III ,即为3个并列的 1。12 写做 XII ,即为 X + II 。 26 写做 XXVI, 即为 XX + V + I 。 也有一些特例, 例如4, 可以放到V的左边, IV表示4.

In [ ]

def intToRoman( num: int):
    roman = ""
    # code goes here
    return roman

盛水最多的容器

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器,且 n 的值至少为 2。

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例:

输入: [1,8,6,2,5,4,8,3,7]
输出: 49

In [ ]

def maxArea(height: List[int]):
    area = 0
    # code goes here 
    
    return area

矩阵置零

给定一个 m * n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。

示例 1:

输入: 
[
  [1,1,1],
  [1,0,1],
  [1,1,1]
]
输出: 
[
  [1,0,1],
  [0,0,0],
  [1,0,1]
]

示例 2:

输入: 
[
  [0,1,2,0],
  [3,4,5,2],
  [1,3,1,5]
]
输出: 
[
  [0,0,0,0],
  [0,4,5,0],
  [0,3,1,0]
]

进阶:

  • 一个直接的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个常数空间的解决方案吗?

In [ ]

def setZeroes( matrix: List[List[int]]):
    # Do not return anything, modify matrix in-place instead.
    # Code goes here

文件操作

有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中

In [ ]

def combination(file1, file2):
    #Code goes here
    return file3

更高难度练习:

一、猜数字

经典的猜数字游戏,几乎所有人学编程时都会做。

功能描述:随机选择一个三位以内的数字作为答案。用户输入一个数字,程序会提示大了或是小了,直到用户猜中。

二、FizzBuzz

另一道经典编程题。

功能描述:遍历并打印0到100,如果数字能被3整除,显示Fizz;如果数字能被5整除,显示Buzz;如果能同时被3和5整除,就显示FizzBuzz。结果应该类似:0,1,2,Fizz,4,Buzz,6……14,FizzBuzz,16……

三、猜数字的AI

和猜数字一样,不过这次是设计一个能猜数字的AI

功能描述:用户输入一个单位以内的数字,AI要用最少的次数猜中,并且显示出猜的次数和数字。

四、整点报时

老式挂钟会在整点的报时,响铃的次数和时间相等。我们设计一个在电脑上运行的报时器。

功能描述:运行后,在每一个整点长响一声,半个整点短响两声。实现睡眠模式,晚上十二点到早上六点不响铃。

五、敏感词审查

一向痛恨网络审查的你成了某网站的审查员,要求审查网络上违反上头规定的名词。

功能描述:要审查的帖子在这个文本文档里,要求将所有的和谐,三个代表,言论自由,64替换为*号。

六、文字冒险游戏

你想做个清新脱俗的文字游戏,只在命令行的黑框里运行。

功能描述:尽量参考回合制RPG游戏的模式,游戏剧情自编,要有战斗模式,主角有HP属性,战斗和吃东西会对HP有相应的增减效果。

七、词频统计

你想分析某个英语写作者的写作风格,你想先从他使用词语的频率入手。

功能描述:分析这个文本文档里的词频,按照出现频率由高到低排列结果,不区分大小写,过滤掉标点(可以使用正则表达式)。结果类似ok:234,play:122,funny:78

八、Markdown转换器

你一向喜欢在Windows的记事本里写文章,为了能方便的生成网页,你使用Markdown的格式写了篇文章,现在需要一个把Markdown转换成HTML格式的程序。

功能描述:将这个文本文档里的内容转换成HTML文档。要尽可能的支持Markdown标签,越多越好。建议使用正则表达式。

九、邮件轰炸机

你的一个朋友生日快到了,你决定搞个恶作剧——用邮件塞满他的邮箱。

功能描述:首先去注册十个邮箱,然后用这是个邮箱轮流发送随机生成的邮件内容给你的朋友。调整发送的频率,以免被服务器拒绝。

十、用邮件控制电脑

你的电脑放在宿舍,这时你在教室上课,你又决定搞个恶作剧吓吓装病请假在宿舍玩游戏的室友。

功能描述:使用邮件发送特定的命令,让电脑上的程序判断发信方是否为控制邮箱,如果是就执行发送过来的命令。通过不同的方式实现尽可能多的功能。

posted @ 2022-10-27 21:35  汀、人工智能  阅读(104)  评论(0编辑  收藏  举报