目录

  • 1 前言
    • 1.1  Python解释器安装
    • 1.2  PyCharm开发环境
  • 2 Python程序设计实验
    • 2.1  实验1 基本输入输出
    • 2.2  实验2 基本运算
    • 2.3  实验3 字符串处理
    • 2.4  实验4 列表与元组应用
    • 2.5  实验5 列表与元组应用
    • 2.6  实验6 字典与集合应用
    • 2.7  实验7 函数应用1
    • 2.8  实验8 函数应用2
    • 2.9  实验9 类的创建与应用
    • 2.10  实验10 模块应用
    • 2.11  实验11 文件操作
    • 2.12  实验12 异常处理
    • 2.13  实验13 使用正则表达式
    • 2.14  实验14 tkinter基础应用
  • 3 学习参考
    • 3.1  1 Python及其IDLE环境
    • 3.2  2 Python代码规范
    • 3.3  3 使用变量
    • 3.4  4 输入输出
    • 3.5  5 运算符
    • 3.6  6 字符串
    • 3.7  7 条件语句
    • 3.8  8 循环语句
    • 3.9  9 列表
    • 3.10  10 元组
    • 3.11  11 字典
    • 3.12  12 集合
    • 3.13  13 自定义函数
    • 3.14  14 内置函数
    • 3.15  15 类的创建和使用
    • 3.16  16 类的继承与多态
    • 3.17  17 time模块
    • 3.18  18 os模块
    • 3.19  19 random模块
    • 3.20  20 文件
    • 3.21  21 错误与异常处理
 实验3 字符串处理

任务1:回文判断

【任务描述】

如果将一个字符串的字符从右至左排列,得到的字符串与原字符串相同,则称该字符串为回文。如"na121an"是回文。编程实现:输入一个字符串,如果是回文则输出“True”,否则输出“False”。程序保存到s3A.py。

程序执行效果1:

输入一个字符串:abccba

输出:True

程序执行效果2:

输入一个字符串:dcbc

输出:False 

【操作提示】

将一个字符串的字符从右至左排列,得到的字符串为原字符串的逆序。字符串s的逆序为s[::-1]。


任务2:字符串替换

【任务描述】

设:s="大家好!我是<X>,学号是<X>。"。编写程序s3B.py,输入你的姓名和学号,将字符串s左起第一个"<X>"替换为你的姓名,第二个"<X>"替换为你的学号。输出替换后的字符串。

程序执行效果:

输入学号:20217890

输入姓名:李同松

大家好!我是李同松,学号是20217890。

【操作提示】

使用字符串的内置函数replace可以实现字符串替换。


任务3:字符串查找

【任务描述】

输入要查找字符串的开始字符和结束字符,输出以下文本中匹配的字符串。程序保存到s3C.py。

岳阳楼记》 

作者:范仲淹,北宋著名文学家、政治家、军事家、教育家。

    庆历四年春,滕子京谪守巴陵郡。越明年,政通人和,百废具兴。

乃重修岳阳楼,增其旧制,刻唐贤今人诗赋于其上。属予作文以记之。

予观夫巴陵胜状,在洞庭一湖。衔远山,吞长江,浩浩汤汤,横无际涯;

朝晖夕阴,气象万千。此则岳阳楼之大观也,前人之述备矣。然则北通

巫峡,南极潇湘,迁客骚人,多会于此,览物之情,得无异乎?

    若夫淫雨霏霏,连月不开,阴风怒号,浊浪排空;日星隐曜,山岳潜形;

商旅不行,樯倾楫摧;薄暮冥冥,虎啸猿啼。登斯楼也,则有去国怀乡,

忧谗畏讥,满目萧然,感极而悲者矣。

    至若春和景明,波澜不惊,上下天光,一碧万顷;沙鸥翔集,锦鳞游泳;

岸芷汀兰,郁郁青青。而或长烟一空,皓月千里,浮光跃金,静影沉璧,

渔歌互答,此乐何极!登斯楼也,则有心旷神怡,宠辱偕忘,把酒临风,

其喜洋洋者矣。

    嗟夫!予尝求古仁人之心,或异二者之为,何哉?不以物喜,不以己悲;

居庙堂之高则忧其民;处江湖之远则忧其君。是进亦忧,退亦忧。然则

何时而乐耶?其必曰“先天下之忧而忧,后天下之乐而乐”乎。噫!微

斯人,吾谁与归?

时六年九月十五日。

程序执行效果:

输入要查找的开始字符:作者

输入要查找的结束字符:家。

输出:作者:范仲淹,北宋著名文学家、政治家、军事家、教育家。

【操作提示】

基本思路:

1、将整个《岳阳楼记》文本作为一个字符串保存到变量s中。

2、利用input函数分别得到要查找字符串的开始字符a和结束字符b

3、使用字符串内置函数find得到a在s中的位置索引m

4、使用len函数得到a的长度k

5、从s的m+k索引位置开始查找b,得到其位置索引n

6、得到b的长度k

7、利用字符串的切片,得到搜索到的字符串。切片的开始索引位置为m,结束位置索引为n+b。


任务4:单词统计

【任务描述】

输入一段英文,输出这段英文的单词个数。假定这段英文仅由单词、空格和标点符号组成,且标点后总是紧接一个空格(最后一个标点除外)。全文无多余标点和空格,也无缩写单词。程序保存到s3D.py。

程序运行效果:

输入一段英文:It is a dog, and this is a cat.

单词个数为:9

【操作提示】

1、利用input函数得到键盘输入的字符串s

2、利用字符串的内置函数count得到字符串中的空格数目n

3、根据n的值确定单词个数。注意s为空字符串的情形。


任务5:还原字符串

【任务描述】

下面代码对输入的字符串进行处理后输出新的字符串。

s=input("输入字符串:")

n=len(s)//2

a=s[:n];b=s[n:]

s=b[::-1]+a

print(s)

例如,输入“12345”后输出“54312”。

请编写程序s3E.py还原上面代码处理后的字符串。

程序执行效果:

输入字符串:54312

还原的字符串:12345

【操作提示】

根据代码的处理过程逆推即可还原字符串(设处理后的字符串为s):

1、计算字符串a的长度n

2、s的最后n个字符即为a,其余字符为b的逆序

3、a+b即为还原的字符串