导航:首页 > 源码编译 > python算法题

python算法题

发布时间:2023-03-02 20:18:25

python习题(算法

这个就是循环2n次呀。先是让x=x+c,在把c更新一下c=c+b,最后让b=b+a,这就完成一次循环了。
不过你给的程序不完整。

⑵ python求质数的算法

很早 的一个 函数

⑶ 40道python二级考试真题火爆互联网,完整版答案解析为你保驾护航

1.以下关于程序设计语言的描述,错误的选项是:
A Python语言是一种脚本编程语言
B 汇编语言是直接操作计算机硬件的编程语言
C 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段
D 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序
正确答案: C

2.表达式 1001 == 0x3e7 的结果是:
A false
B False
C true
D True
正确答案: B

3.以下选项,不是Python保留字的选项是:
A del
B pass
C not
D string
正确答案: D

4.表达式 eval(‘500/10’) 的结果是:
A ‘500/10’
B 500/10
C 50
D 50.0
正确答案: D

5.表达式 type(eval(‘45’)) 的结果是:
A
B
C None
D
正确答案: D
6.表达式 pmod(20,3) 的结果是:
A 6, 2
B 6
C 2
D (6, 2)
正确答案: D

7.以下关于字符串类型的操作的描述,错误的是:
A str.replace(x,y)方法把字符串str中所有的x子串都替换成y
B 想把一个字符串str所有的字符都大写,用str.upper()
C 想获取字符串str的长度,用字符串处理函数 str.len()
D 设 x = ’aa’ ,则执行x*3的结果是‘aaaaaa’
正确答案: C

8.设 str = ‘python’,想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:
A print(str[0].upper()+str[1:])
B print(str[1].upper()+str[-1:1])
C print(str[0].upper()+str[1:-1])
D print(str[1].upper()+str[2:])
正确答案: A

9.以下选项,不属于程序流程图基本元素的是:
A 循环框
B 连接点
C 判断框
D 起始框
正确答案: A

10.以下关于循环结构的描述,错误的是:
A 遍历循环使用for in 语句,其中循环结构不能是文件
B 使用range()函数可以指定for循环的次数
C for i in range(5)表示循环5次,i的值是从0到4
D 用字符串做循环结构的时候,循环的次数是字符串的长度
正确答案: A

11.执行以下程序,输入”93python22”,输出结果是:

A python9322
B python
C 93python22
D 9322
正确答案: C

A la
B 请输入整数
C pythonpython
D python
正确答案: C

A 2
B 请输入q退出:
C 3
D 1
正确答案: A

14.以下程序的输出结果是:

A 0
B 2
C UnboundLocalError
D 5
正确答案: A

A 18 None
B 10 18
C UnboundLocalError
D 18 18
正确答案: B

def test( b = 2, a = 4):
global z
z += a * b
return z
z = 10
print(test(),z)
18,18

17.以下程序的输出结果是:

A 22.0 None
B 10 None
C 22 None
D 10.0 22.0
正确答案: B

18.以下表达式,正确定义了一个集合数据对象的是:
A x = { 200, ’flg’, 20.3}
B x = ( 200, ’flg’, 20.3)
C x = [ 200, ’flg’, 20.3 ]
D x = {‘flg’ : 20.3}
正确答案: A

19.以下程序的输出结果是:

A [‘z’, ‘j’, ‘s’, ‘y’]
B [‘j’, ‘s’, ‘y’, ‘z’]
C [‘j’, ‘z’, ‘z’, ‘s’, ‘z’, ‘y’, ‘j’]
D [‘j’, ‘j’, ‘s’, ‘y’, ‘z’, ‘z’, ‘z’]
正确答案: B

20.以下程序的输出结果是:

A htslbht
B hlbst
C tsblh
D hhlstt
正确答案: B

21.已知id(ls1) = 4404896968,以下程序的输出结果是:

A 4404896968 4404896904
B 4404896904 4404896968
C 4404896968 4404896968
D 4404896904 4404896904
正确答案: A

A [‘300’,‘200’,‘400’]
B [‘shandong’, ‘hebei’, ‘beijing’]
C [300,200,400]
D ‘shandong’, ‘hebei’, ‘beijing’
正确答案: B

23.以下关于文件的描述,错误的是:
A 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”
B open() 打开文件之后,文件的内容并没有在内存中
C open()只能打开一个已经存在的文件
D 文件读写之后,要调用close()才能确保文件被保存在磁盘中了
正确答案: C

24.以下程序输出到文件text.csv里的结果是:

A [90,87,93]
B 90,87,93
C ‘[90,87,93]’
D ‘90,87,93’
正确答案: B

25.以下程序的输出结果是:

A ( [1,2,3,4,5])
B [12, 34, 56, 78]
C ([12, 34, 56, 78])
D [1,2,3,4,5]
正确答案: B

26.以下关于数据维度的描述,错误的是:
A 采用列表表示一维数据,不同数据类型的元素是可以的
B JSON格式可以表示比二维数据还复杂的高维数据
C 二维数据可以看成是一维数据的组合形式
D 字典不可以表示二维以上的高维数据
正确答案: D

27.以下不属于Python的pip工具命令的选项是:
A show
B install
C download
D get
正确答案: D

29.以下不是程序输出结果的选项是:

A [12, 78, 56, 34]
B [56, 12, 78, 34]
C [12, 34, 56, 78]
D [12, 78, 34, 56]
正确答案: C

30.以下关于turtle库的描述,正确的是:
A 在import turtle之后就可以用circle()语句,来画一个圆圈
B 要用from turtle import turtle来导入所有的库函数
C home() 函数设置当前画笔位置到原点,朝向东
D seth(x) 是setheading(x)函数的别名,让画笔向前移动x
正确答案: C

31.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
A 栈
B 堆
C 链表
D 数组
正确答案: A
因为函数调用是能过将关键寄存器压栈保护现场;在函数返回时,弹栈恢复现场来完成的。
而递归调用说白了就是自已调用自己。也就是不停的上演pop, push的栈操作。
系统为什么选用栈来实现函数间的调用呢?我觉的主要原因如下:
对于频繁的调用操作过程中,栈的pop,push操作最简洁,快速。硬件级(或者理解成汇编级也行)支持栈操作。所以用栈最高效,快速。如果用堆、数组、链表,不光要维护很多功能辅助性数据,算法也很麻烦。这样会大大降低计算机的使用效率。

32.下列叙述中正确的是
A 一个算法的空间复杂度大,则其时间复杂度必定小
B 一个算法的空间复杂度大,则其时间复杂度也必定大
C 算法的时间复杂度与空间复杂度没有直接关系
D 一个算法的时间复杂度大,则其空间复杂度必定小
正确答案: C

34.软件开发离不开系统环境资源的支持,其中必要的测试数据属于
A 辅助资源
B 硬件资源
C 通信资源
D 支持软件
正确答案: A

35.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
A 错误推测法
B 白箱测试法
C 黑箱测试法
D 安装测试法
正确答案: C

37.下列有关数据库的描述,正确的是
A 数据库是一个关系
B 数据库是一个DBF文件
C 数据库是一个结构化的数据集合
D 数据库是一组文件
正确答案: C

38.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和
A 可重用性差
B 冗余性
C 非持久性
D 安全性差
正确答案: B

39.软件开发的结构化生命周期方法将软件生命周期划分成
A 定义、开发、运行维护
B 设计阶段、编程阶段、测试阶段
C 总体设计、详细设计、编程调试
D 需求分析、功能定义、系统设计
正确答案: A

40.下列不属于结构化分析的常用工具的是
A 判定树
B 数据字典
C 数据流图
D PAD图
正确答案: C

⑷ python走迷宫算法题怎么解

示例:


#coding:UTF-8
globalm,n,path,minpath,pathnum
m=7
n=7
k=[0,1,2,3,4,5,6,7]#循环变量取值范围向量
a=[[0,0,1,0,0,0,0,0],
[1,0,1,0,1,1,1,0],
[0,0,0,0,1,0,0,0],
[1,1,1,1,1,0,0,0],
[0,0,0,0,0,1,1,0],
[0,0,0,0,0,0,0,0],
[0,0,1,1,1,1,1,1],
[0,0,0,0,0,0,0,0]]#迷宫矩阵
b=[[1,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0]] #状态矩阵
path=[]
minpath=[]
min=10000
step=0
pathnum=0
#print(a)
#print(b)
defnextone(x,y):
globalpath,minpath,m,n,min,step,pathnum
if(x==0)and(y==0):
path=[]
step=0
if(x==m)and(y==n):
pathnum+=1
print("step=",step)
print("path=",path)
ifstep<min:
min=step
minpath=path[:]
else:
if(x+1ink)and(yink):
if(b[x+1][y]==0)and(a[x+1][y]==0):
b[x+1][y]=1
path.append([x+1,y])
step+=1
nextone(x+1,y)
step-=1
path.remove([x+1,y])
b[x+1][y]=0#回溯
if(xink)and(y+1ink):
if(b[x][y+1]==0)and(a[x][y+1]==0):
b[x][y+1]=1
path.append([x,y+1])
step+=1
nextone(x,y+1)
step-=1
path.remove([x,y+1])
b[x][y+1]=0#回溯
if(x-1ink)and(yink):
if(b[x-1][y]==0)and(a[x-1][y]==0):
b[x-1][y]=1
path.append([x-1,y])
step+=1
nextone(x-1,y)
step-=1
path.remove([x-1,y])
b[x-1][y]=0#回溯
if(xink)and(y-1ink):
if(b[x][y-1]==0)and(a[x][y-1]==0):
b[x][y-1]=1
path.append([x,y-1])
step+=1
nextone(x,y-1)
step-=1
path.remove([x,y-1])
b[x][y-1]=0#回溯

nextone(0,0)
print()
print("min=",min)
print("minpath=",minpath)
print("pathnum=",pathnum)


⑸ python算法问题


你好,答案如下所示。

如图所示

希望你能够详细查看。

如果你有不会的,你可以提问

我有时间就会帮你解答。
希望你好好学习。
每一天都过得充实。

⑹ 一道算法题,用python初始化一颗二叉树并求解其最短路径的值

二叉树算法,可能按照你的需求不是很多:
下面是我用的一个,不过你可以借鉴一下的:
# -*- coding: cp936 -*-
import os
class Node(object):
"""docstring for Node"""
def __init__(self, v = None, left = None, right=None, parent=None):
self.value = v
self.left = left
self.right = right
self.parent = parent
class BTree(object):
"""docstring for BtTee """
def __init__(self):
self.root = None
self.size = 0
def insert(self, node):
n = self.root
if n == None:
self.root = node
return
while True:
if node.value <= n.value:
if n.left == None:
node.parent = n
n.left = node
break
else:
n = n.left
if node.value > n.value:
if n.right == None:
n.parent = n
n.right = node
break
else:
n = n.right
def find(self, v):
n = self.root # http://yige.org
while True:
if n == None:
return None
if v == n.value:
return n
if v < n.value:
n = n.left
continue
if v > n.value:
n = n.right
def find_successor(node):
'''查找后继结点'''
assert node != None and node.right != None
n = node.right
while n.left != None:
n = n.left
return n
def delete(self, v):
n = self.find(v)
print "delete:",n.value
del_parent = n.parent
if del_parent == None:
self.root = None;
return
if n != None:
if n.left != None and n.right != None:
succ_node = find_successor(n)
parent = succ_node.parent
if succ_node == parent.left:
#if succ_node is left sub tree
parent.left = None
if succ_node == parent.right:
#if succ_node is right sub tree
parent.right = None
if del_parent.left == n:
del_parent.left = succ_node
if del_parent.right == n:
del_parent.right = succ_node
succ_node.parent = n.parent
succ_node.left = n.left
succ_node.right = n.right
del n
elif n.left != None or n.right != None:
if n.left != None:
node = n.left
else:
node = n.right
node.parent = n.parent
if del_parent.left == n:
del_parent.left = node
if del_parent.right == n:
del_parent.right = node
del n
else:
if del_parent.left == n:
del_parent.left = None
if del_parent.right == n:
del_parent.right = None
def tranverse(self):
def pnode(node):
if node == None:
return
if node.left != None:
pnode(node.left)
print node.value
if node.right != None:
pnode(node.right)
pnode(self.root)
def getopts():
import optparse, locale
parser = optparse.OptionParser()
parser.add_option("-i", "--input", dest="input", help=u"help name", metavar="INPUT")
(options, args) = parser.parse_args()
#print options.input
return (options.input)
if __name__ == '__main__':
al = [23, 45, 67, 12, 78,90, 11, 33, 55, 66, 89, 88 ,5,6,7,8,9,0,1,2,678]
bt = BTree()
for x in al :
bt.insert(Node(x))
bt.delete(12)
bt.tranverse()
n = bt.find(12)
if n != None:
print "find valud:",n.value

阅读全文

与python算法题相关的资料

热点内容
pdf背景绿色 浏览:610
记事本dos命令 浏览:274
服务器如何搭建多个节点 浏览:326
acx算法 浏览:258
幽冥诡匠漫画全集用什么app可以看 浏览:1001
租用服务器为什么越来越慢 浏览:960
算法创新就业方向 浏览:423
算法最优解作者 浏览:868
通达信红绿宝塔线指标源码 浏览:667
app是什么东西合法吗 浏览:231
怎么锁app视频教程 浏览:841
迅捷pdf注册码生成器 浏览:749
androidsdkosx 浏览:303
压缩面膜纸荧光 浏览:841
app怎么分身三个 浏览:744
电影bt下载源码 浏览:422
iwatch屏幕加密芯片 浏览:570
公安主题网站源码 浏览:986
天津市服务器供应商云服务器 浏览:117
数控车床子程序编程 浏览:112