实验一
一、实验目的
- 掌握:Python常用内置对象-列表、元组、字典、集合。
- 掌握运算符和内置函数对列表、元组、字典、集合的操作。
- 理解列表推导式、生成器表达式的工作原理。
- 掌握切片操作。
- 掌握序列解包的用法。
二、实验内容
基于Python编写程序,输入一个正整数,然后输出各位数字之和。例如,输入字符串1234, 输出10。
#说明:input ()函数返回字符串
num=input('请输入一个自然数:')
#把字符串中的每个字符转换为数字,然后求和
print (sum(map (int num)))
三、实验结果
输入:1234
输出:10
四、实验总结
经过这次作业,我深刻地发现对于python的学习,还是有很多的不足,很多地方都没有理解透彻,所以在以后的学习中,应该更仔细地理解语句的用法,加深对其的记忆。
实验二
一、实验目的
- 理解条件表达式与True/False的等价关系
- 熟练运用常见选择结构
- 熟练运用for循环和while循环
- 理解带else子句的循环结构执行过程
- 理解break和continue语句在循环中的作用
二、实验内容
1、基于Python编写程序,输入一个正整数,然后输出各位数字之和。
例如,输入字符串1234,输出10。
同实验一
# input()函数返回字符串
num = input('请输入一个正整数:')
# 把字符串中的每个字符转换为数字,然后对各位数字求和
print(sum(map(int,num)))
2、编写程序,输入一个字符串,输出翻转(首尾交换)后的字符串,要求使用内置函数实现。
例如,输人字符串12345,输出54321。
from operator import add
from functools import reduce
# 注意,input()本身就返回字符串,在输入时不需要在内容两侧加引号
text = input('请输入一个字符串:')
print(reduce(add,reversed(text))
3、编写程序,输入一个包含若干整数的列表,输出列表中的最大值。
例如,输入[1,2, 3,4, 5,888],输出888。
# 使用内置函数eval()把包含列表的字符串转换为列表
lst = eval(input('请输入一个包含若干整数的列表:'))
print(max(lst))
4、编写程序,输入一个包含若干整数的列表,把列表中所有整数转换为字符串,然后输出包含这些字符串的列表。
例如,输入[1,2, 3, 4, 5, 888],输出[‘1’,‘2’,‘3’,‘4’,‘5’,‘888’]
lst = eval(input('请输入一个包含若干整数的列表:'))
print(list(map(str,lst)))
三、实验总结
本次实验中的大部分内容相对简单,题目类型在其他计算机语言的学习中也较为常见。对于新手学习python编程,这是一些不错的题型,同时有其他语言编程基础的人也能较为方便地区分与之前所学语言的区别。
实验三
一、实验目的
- 掌握函数定义和调用的用法。
- 掌握递归函数的执行过程。
- 掌握位置参数、关键参数、默认值参数与长度可变参数的用法。
- 理解函数调用时参数传递的序列解包用法。
- 理解变量作用域。
- 掌握表达式的定义与用法。
- 掌握生成器函数工作原理。
二、实验内容
1、编写程序,输入一个包含若干整数的列表,输出列表中的最大值。例如,输入[1, 2, 3, 4, 5, 888],输出888。
同实验二
from operator import add
from functools import reduce
# 注意,input()本身就返回字符串,在输入时不需要在内容两侧加引号
text = input('请输入一个字符串:')
print(reduce(add,reversed(text))
2、编写程序,输入一个包含若干整数的列表,把列表中所有整数转换为字符串,然后输出包含这些字符串的列表。
例如,输入[1, 2,3, 4, 5, 888],输出[‘1’,‘2’,‘3’,‘4’,‘5’,‘888’]
同实验二
lst = eval(input('请输入一个包含若干整数的列表:'))
print(list(map(str,lst)))
3、编写程序,输入一个包含若干任意数据的列表,输出该列表中等价于True的元素组成的列表。
例如,输人[1,2, 0, None, False,‘a’],输出[1,2,'a’]。
lst = eval(input('请输入一个包含若干任意元素的列表:'))
print(list(filter(None,lst)))
4、编写程序,输入一个包含若干整数的列表,输出一个新列表,新列表中奇数在前偶数在后,并且奇数之间的相对顺序不变,偶数之间的相对顺序也不变。
lst = eval(input('请输入一个包含若干整数的列表:'))
newLst = sorted(lst, key=lambda num:num%2==0)
print(newLst)
三、实验总结
此次实验的题目难度虽然属于初级,但是亲自做的时候还是感到不是特别流畅,对python中的许多语法还是无法做到自如地运用。比如函数的使用实际上是可以更灵活的,但我自身只了解一些基础的用法,使用得很牵强,之后应多去了解一下各种语法的使用技巧。