这不是第一次实验,因为以前没有做笔记的习惯,所以都忘了差不多了,我从我最近的实验课讲解一下题目。
这里有三道题我分别讲解一点,都是和我最近写的笔记有关的作业
1、编写程序,生成一个包含20个随机整数的列表,列表中每个元素均位于[0,100] 区间内,然后对其中偶数下标的元素进行降序排列,
奇数下标的元素不变。最后输出该列表。
这道题我们首先要用到random.randint来获取整数,然后只需要使用切片(slice)取偶数并且降序(soretd)排列就行了,如下
2、在一行中输入以空格间隔的若干以字母数字字符组成的字符串(字符串之间不包含其他字符)。
定义一个函数,找出这些字符串的最长的共有前缀并输出。如果不存在共有前缀,输出"NOT FOUND"。
样例输入:
water waiter watt
样例输出:wa
这道题我们首先需要将输入的字符串分开,用到split(),然后我们需要取每个字符串的前缀(prefix)最后使用for循环得到共同前缀(common_prefix),大致结果如下
3、第一行输入一个正整数N,随后的N行各输入一个人的姓名和年龄,中间用空格分隔(形如 "Tom 18"),
将字符串转为形如 {"name":"Tom","age":18} 的字典,按顺序加入到列表中,得到一个元素为字典的列表,
分别根据年龄和姓名对其升序排序输出。
样例输入:
4
Tom 18
Jerry 47
Cat 20
Doge 33
样例输出:
[{'name': 'Tom', 'age': 18}, {'name': 'Cat', 'age': 20}, {'name': 'Doge', 'age': 33}, {'name': 'Jerry', 'age': 47}]
[{'name': 'Cat', 'age': 20}, {'name': 'Doge', 'age': 33}, {'name': 'Jerry', 'age': 47}, {'name': 'Tom', 'age': 18}]
这道题用到了我上次的笔记有关字典的运用
我们首先需要输入(input)人数吗,然后定义一个列表(list)再给一个给一个for循环和split来输入名字和年龄,然后给一个lambda函数来定义升序(sorted)的关键词,如下所示
这次试验到这里了,我么下次再见