pythonisempty
Ⅰ python实现堆栈与队列的方法
python实现堆栈与队列的方法
本文实例讲述了python实现堆栈与队列的方法。分享给大家供大家参考。具体分析如下:
1、python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆栈了。
stack.py的程序:
代码如下:class Stack():
def __init__(self,size):
self.size=size;
self.stack=[];
self.top=-1;
def push(self,ele): #入栈之前检查栈是否已满
if self.isfull():
raise exception("out of range");
else:
self.stack.append(ele);
self.top=self.top+1;
def pop(self): # 出栈之前检查栈是否为空
if self.isempty():
raise exception("stack is empty");
else:
self.top=self.top-1;
return self.stack.pop();
def isfull(self):
return self.top+1==self.size;
def isempty(self):
return self.top==-1;
再写一个程序文件,stacktest.py,使用栈,内容如下:
代码如下:#!/usr/bin/python
from stack import Stack
s=Stack(20);
for i in range(3):
s.push(i);
s.pop()
print s.isempty();
2、python 实现队列:
复制代码代码如下:class Queue():
def __init__(self,size):
self.size=size;
self.front=-1;
self.rear=-1;
self.queue=[];
def enqueue(self,ele): #入队操作
if self.isfull():
raise exception("queue is full");
else:
self.queue.append(ele);
self.rear=self.rear+1;
def dequeue(self): #出队操作
if self.isempty():
raise exception("queue is empty");
else:
self.front=self.front+1;
return self.queue[self.front];
def isfull(self):
return self.rear-self.front+1==self.size;
def isempty(self):
return self.front==self.rear;
q=Queue(10);
for i in range(3):
q.enqueue(i);
print q.dequeue();
print q.isempty();
希望本文所述对大家的Python程序设计有所帮助。
Ⅱ python 单向链表问题
不会。
实际上,SingleLinkedList只存储了链表的表头节点的位置。
每次调用add函数,相当于新建了一个节点,
调用setNext将其下一节点指向现在链表的表头,
然后将新建的节点位置作为新的表头位置保存在链表里面。
要得到链表的所有节点必须从表头节点开始一个一个往下跳转,一直跳转到下一节点位置为None,则表示查询完毕。
Ⅲ python 堆栈类 求帮忙改一下
classStack(object):
def__init__(self,*args,**kwds):
self.StackList=[]
defpush(self,str):
self.StackList.append(str)
defpop(self):
self.StackList.pop()
defisempty(self):
iflen(self.StackList)==0:
returnFalse
else:
returnTrue
defpeek(self):
printself.StackList[-1]
ss=Stack()
ss.push('abc')
ss.push('weq')
ss.push('wasd')
ss.peek()
ss.pop()
printss.isempty()
ss.peek()
ss.pop()
printss.isempty()
ss.peek()
ss.pop()
printss.isempty()
Ⅳ pyqt5中怎么判断字符串为空
在PyQt4中,toPlainText方法返回的是QString类,QString类支持isEmpty方法。所以在PyQt4中这样没问题。
而PyQt5大多数是在Python3下用的(当然PyQt5+Python2也可以),在Python3中基本str类已经很好的支持了各类字符编码,所以PyQt5中已经没有QString了,所有期待QString类型的API,直接使用原生str即可。同样的,toPlainText方法返回的也是原生的str类型。str没有isEmpty方法,所以会失败。
这里使用普通str的判断方法即可
url = str(self.inputbox.toPlainText()) # 如果是Python2,这里需要str()转换,如果是Python3则不用
if url == ''
if len(url) == 0
if url
Ⅳ python取存储时data文件是空文件怎么办
import os
import pickle
def isemptyfile(filename):
if not os.path.exists(filename):
return None
statu = os.stat(filename)
return statu.st_size == 0
def loadfromfile(filename):
empty = isemptyfile(filename)
if empty == None or empty == True:
return pickle.load(open(filename))
else:
return None
Ⅵ python问题
因为你有这样一句判断语句
ifxin"0123456789"
只要x不是0123456789,那x就不是数字了,你编的这个计算器就结束运算了
x=50就会被判断为非数字。
isinstance(var, type)这个函数会告诉你变量是否属于某个变量类型,相符返回True,反之False
如果只支持整数运算,改成:
ifisinstance(x,int):
如果要支持小数运算,改成:
ifisinstance(x,int)orisinstance(x,float):
Ⅶ python3前端传递的pdf文件对象如何存储到服务器的指定目录
1.前端页面
<form action="/upload" method="post" enctype="multipart/form-data">
文件:<input type="file" name="testUpload"/>
<input type="submit" />
</form>
2.java代码
@RequestMapping(value = "upload")
@ResponseBody
public String upload(@RequestParam("testUpload") MultipartFile file) {
if (file.isEmpty()) {
return "文件为空";
}
// 获取文件名
String fileName = file.getOriginalFilename();
System.out.println("上传的文件名为:" + fileName);
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
System.out.println("上传的后缀名为:" + suffixName);
// 文件上传后的路径
String filePath = "E://test//";
File dest = new File(filePath + fileName);
// 检测是否存在目录
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
try {
file.transferTo(dest);
return "上传成功";
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "上传失败";
}