s=0 for i in range(1,11) s=s+i print(s)求执行结果

3、Python 语言是一种解释型、面向【对象】的程序设计语言

4、建立模块 a.py, 模块内容如下。

6、函数定义以【def】开始,最后以【冒号】结束

的终值应当为【 -2】

9、Python 包含了数量众多的模块,通过【import 】语句,可以导

入模块,并使用其定义的功能

10、下面语句的输出结果是【{1: ’x’,3: ’c’} 】

下载文档原格式(Word原格式,共19页)

这一周题目出来了,我看着我应该是最早做完的,所以就算审核之后应该时间还够,还是建议前九个题作为之前知识的复习题来做,最后一个题可以先学习列表的增删之后做,因为很简单,基础题目,对于巩固知识是不错的。


7-10 删除列表中的重复值(高教社,《Python编程基础及应用》习题4-8) (5 分)



输入一个字符串,统计其中数字字符的个数。

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入一个仅由字母和数字组成的字符串(长度不超过80)。

对于每组测试,在一行上输出该字符串中数字字符的个数。


斐波那契数,亦称之为斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……,这个数列从第3项开始,每一项都等于前两项之和。求大于输入数的最小斐波那契数。

在一行输出大于n的最小斐波那契数。


在一行上输入若干整数,每个整数以一个空格分开,求这些整数的平均值。

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入一个字符串(仅包含数字字符和空格)。

对于每组测试,输出以空格分隔的所有整数的平均值,结果保留一位小数。

若一个数正向看和反向看等价,则称做回文数。例如:6,2552,12321均是回文数。 给出一个正整数n,求比n大的最小的回文数。(n和运算结果均不会超出int类型范围)

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入1个正整数n。

对于每组测试数据,输出比n大的最小回文数。

ty1=1 #判断是不是回文数

输入一个正整数m(0 输入格式:

在一行输入一个正整数m。

对应每一行输入,在一行中按照格式“sum=S”输出对应的和S.

在这里给出相应的输出。例如:


接收一个正整数N,然后打印输出:N个等式,形如:i(1->N)N=iN 格式的数据。

只有一个正整数N(N 输出格式:

输出共N行数据,形式如:i (1->N)*N=? 格式的表达式。


你的任务是计算a + b。

输入将由一系列整数a和b组成,用一个空格分隔,每行有一对整数。

对于每一对输入整数a和b,应该输出a和b的和,后面跟着一个空行。

在这里给出一组输入。例如:

在这里给出相应的输出。例如:


某天,诺诺看到三七二十一(3721)数,觉得很神奇,这种数除以3余2,而除以7则余1。例如8是一个3721数,因为8除以3余2,8除以7余1。现在给出两个整数a、b,求区间[a,b]中的所有3721数,若区间内不存在3721数则输出“none”。

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入两个整数a,b(1≤a 输出格式:

对于每组测试,在一行上输出区间[a,b]中所有的3721数,每两个数据之间留一个空格。如果给定区间不存3721数,则输出“none”(引号不必输出)。


输入一个整数n,输出2n-1行构成的菱形,例如,n=5时的菱形如输出样例所示。

测试数据有多组,处理到文件尾。每组测试输入一个整数n(3≤n≤20)。

对于每组测试数据,输出一个共2n-1行的菱形,具体参看输出样例。


输入一个列表,删除其中的重复值,再输出。

假设列表中存在k个值为a的元素,删除前k-1个元素,保留最后一个。 不同元素在列表中的相对位置不应被改变。

提示:将形如"[1,3,5]"的字符串转换成列表可以使用eval()函数。
注意:不要在遍历列表的同时对列表进行增删改操作,这样会引起混乱,导致不正确的结果!

注意,输出格式应与输出样例一致,涉及空格,逗号等。

请接着往下看:你的程序真的对了吗?

多数读者的解题思路是制造一个v列表的复制品以避免在遍历v的同时删除v中的元素。该解决方案可以通过本题设置的全部测试。但这并不意味着该解决方案是“完全正确”的。请尝试下述输入:


很遗憾,程序将产生错误的输出:

产生这种意外结果的原因是:在Python里1和True是相等的! 0和False也是相等的! 在使用列表的count()函数,index()函数,remove()函数时,1和True, 0和False被不加区分地对待。

下述代码的执行结果证实了这一点:


这个问题的完美解决方案,请参考拟出版的《Python编程 实验》一书。
该书是高等教育出版社《Python编程基础及应用》教材的配套实验指导书。

1.字符串交换位置
时间复杂度O(n) 空间复杂度O(1)

2.数组找最大值、最小值

定义了一个数组a = [1,3,4,55,29] 查找数组中最大值
定义一个for循环对数组所有元素遍历一遍时间复杂度为O(n)

4.栈:后进先出 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

# 利用进栈出栈的思想 # 如果符号为左括号进行压栈 # 如果栈不为空且符号在右括号内且左符号和最后一个元素相等
5.为支持浏览器前进和后退功能,利用栈记录历史访问信息 后进先出


7.
数组 数组在内存中是连续存放的,数组内的数据,可以通过索引值直接取出得到
数组 [1,4,3,5,2] 去掉一个最大值和最小值求平均数 要求不允许开辟O(n)空间复杂度的数据结构

8.字符串 操作都是On

# 求两个字符串的最长公共子串 # 思想:建立一个二维数组,保存连续位相同与否的状态 # 生成0矩阵,为方便后续计算,多加了1行1列 p = 0 # 字符串匹配的终止下标 # 返回 子串长度,子串

11.二叉树 树的遍历方法:前序遍历、中序遍历、后序遍历

# 递归的核心思想是把规模大的问题转换为规模小的相似的子问题
 

12.分治法、二分查找

13.在一个有序数组里面,查找出第一个大于9的数字,假设一定存在

14.排序 -- 二分查找必须为有序 常见4种排序:冒泡排序、插入排序、归并排序、以及快速排序

  冒泡排序:空间复杂度为O(1) 时间复杂度O(n*n)

插入排序空间复杂度是O(1) 最好的时间复杂度O(n) 最坏的时间复杂度O(n*n)
归并排序
归并排序采用二分的迭代方式,复杂度是logn
合并两列表
def merge(a, b): # a,b是待合并的两个列表,两个列表分别都是有序的,合并后才会有序
 
快速排序法 稳定性较差
左小右大函数,获取一个中值,左放小右放大函数
实现结果:提取列表中的最后一个元素为被比较值,≤该元素的值放在左边,>该元素的值放在右边 实现过程:≤最后一个元素的所有元素依次放在左边索引0~i的位置,然后将最后一个元素放在索引i的位置,实现结果 return: i,即被比较值所在的索引位置 pivot = arr[high] # 最后一个元素,我们把列表中的所有元素同它比较 if arr[j] <= pivot: # 从第一个元素到倒数第二个元素依次判断是否≤最后一个元素
15.动态规划是一种运筹学方法,是在多轮决策过程中的最优方法
16.在一个数组 a = [1, 3, 4, 3, 4, 1, 3] 中,找到出现次数最多的那个数字。如果并列存在多个,随机输出一个。

17.这个问题是力扣的经典问题,two sums。给定一个整数数组 arr 和一个目标值 target,请你在该数组中找出加和等于目标值的两个整数,并返回它们在原数组中的下标。

# 相减得到另一个数值
你会发现,这个数列中元素的性质是,某个数等于它前面两个数的和;
也就是 a[n+2] = a[n+1] + a[n]。至于起始两个元素,则分别为 0 和 1。在这个数列中的数字,就被称为斐波那契数。
【题目】写一个函数,输入 x,输出斐波那契数列中第 x 位的元素。
例如,输入 4,输出 2;输入 9,输出 21。要求:需要用递归的方式来实现。

19.给定一个字符串,逐个翻转字符串中的每个单词。

【题目】 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,

返回移除后的数组和新的长度,你不需要考虑数组中超出新长度后面的元素。
要求:空间复杂度为 O(1),即不要使用额外的数组空间。
例如,给定数组 nums = [1,1,2],函数应该返回新的长度2,并且原数组 nums 的前两个元素被修改为 1, 2。
又如,给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5,并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。

21.例题 1:判断数组中所有的数字是否只出现一次

22.找出数组中出现次数超过数组长度一半的元素你可以假设一定存在这个出现次数超过数组长度的一半的数字,即不用考虑输入不合法的情况。

 
 
 
 
 
 

我要回帖

更多关于 for i in list 的文章

 

随机推荐