class Node(): def __init__(self, value=None, next=None): self.value = value self.next = next class LinkList(): def __init__(self): self.root = Node() # 代表头 self.size = 0 # 代表有几个数据 self.next = None # 通过设置next的值为0,来记录最后一个节点是谁,方便新加数据时,安排在那个元素后面 def append(self, value): node = Node(value) # 实例化 # 判断是否已经有数据 if not self.next: # 如果没有节点时 self.root.next = node # 将新节点挂到root后面 self.next = node # 因为self.next的值是None、node的next值是None,所以相当于node代替了self.next else: self.next.next = node # 在最后一个节点的next指向node self.next = node # 因为self.next的值是None、node的next值是None,所以相当于node代替了self.next self.size += 1 def append_first(self,value): node = Node(value) # 实例化 if not self.next: # 如果没有节点时 self.root.next = node # 直接在root后面加节点,相当于在头部加数据 self.next = node # 仅有node这一个数据,所以node也是最后一个节点 else: temp = self.root.next # 获取原来root后面的那个节点 self.root.next = node # 将新的节点挂到root上 node.next = temp # 新的节点的下一个节点是原来root后面的节点 self.size += 1 def __iter__(self): """遍历 """ current = self.root.next while current is not self.next: yield current.value current = current.next yield current.value if __name__ == '__main__': link = LinkList() link.append('孙悟空') link.append('猪八戒') link.append_first('唐僧') for i in link: print(i)
老师,请问红线处标注的理解是否正确?尤其是红色箭头处
老师,我有点不明白为什么构造方法为什么会被调用两次呢?
老师这里的代码 是什么意思呀,前面的 0PX 0PX 70 PX 这里为什么要固定用这个,是相当于 三基色 调出的 阴影颜色 深浅度吗?
box-shadow: 0px 0px 70px #D5093C;
老师我在Piane类里面加了几个if语句,想要飞机在边缘的时候停下来,但是每次停下来的位置都不一样,该怎么调整呢?
package com.bjsxt.plane; import java.awt.*; import java.awt.event.KeyEvent; public class Plane extends GameObject{ boolean left,right,up,down; //飞机的方向控制 @Override public void drawMyself(Graphics g) { super.drawMyself(g); //飞机飞行的算法,可以自行设定 // x += speed; if(left) { x -= speed; } if(right) { x += speed; } if(up) { y -= speed; } if(down) { y += speed; } } public void addDirection(KeyEvent e){ if (e.getKeyCode() == KeyEvent.VK_LEFT) { left = true; } if (e.getKeyCode() == KeyEvent.VK_RIGHT) { right = true; } if (e.getKeyCode() == KeyEvent.VK_UP) { up = true; } if (e.getKeyCode() == KeyEvent.VK_DOWN) { down = true; } if (x < 100){ left = false; } if (x > 400){ right = false; } if (y < 100){ up = false; } if (y > 400){ down = false; } /* switch (e.getKeyCode()){ case KeyEvent.VK_LEFT: left = true; break; case KeyEvent.VK_RIGHT: right = true; break; case KeyEvent.VK_UP: up = true; break; case KeyEvent.VK_DOWN: down = true; break; }*/ } public void minusDirection(KeyEvent e){ if (e.getKeyCode()==KeyEvent.VK_LEFT){ left = false; } if (e.getKeyCode()==KeyEvent.VK_RIGHT){ right = false; } if (e.getKeyCode()==KeyEvent.VK_UP){ up = false; } if (e.getKeyCode()==KeyEvent.VK_DOWN){ down = false; } /* switch (e.getKeyCode()){ case KeyEvent.VK_LEFT: left = false; break; case KeyEvent.VK_RIGHT: right = false; break; case KeyEvent.VK_UP: up = false; break; case KeyEvent.VK_DOWN: down = false; break; }*/ } public Plane(Image img, double x, double y, int speed) { super(img, x, y, speed); } }
老师id(3)和id(a)的结果为什么不一样呢?不是把3赋值给a了吗?那么a就是3,3就是a呀
老师 这个id 表示什么,为什么得写id呢,明明a是等于三的,为什么写id 之后就变成了一串数字呢?
老师zookeeper的视频更新完了吗,Watcher类还有权限控制都没懂比如这个的具体作用
老师,我发现调用的接口在客户端和服务端的包名都必须一致。一开始我写的包名不一致一致报
Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com.bjsxt.zookeeper.client.server.UserService
at com.bjsxt.zookeeper.client.ClientDemo.main(ClientDemo.java:24)
最后修改包名一致就可以调用了
老师,这里时间是不是写错了,15秒应该是15000毫秒
如果一个字符串中存在多个c,如果这时候用replace()会把全部的c都换成想要换的那个,那怎么样才能定向的进行替换
代码:
class Array(): def __init__(self,size=4): self.__size=size self.__item=[None]*size self.__length=0 def __setitem__(self, key, value): self.__item[key]=value def __getitem__(self, key): return self.__item[key] def __iter__(self): for i in self.__item: yield i class Heap(): def __init__(self): self.item=Array(8) self.count=0 def add(self,value): self.item[self.count]=value self.setup(self.count) self.count += 1 def setup(self,index): if index>0: parent=int((index-1)/2) if self.item[parent]<self.item[index]: self.item[parent],self.item[index]=self.item[index],self.item[parent] self.setup(parent) def pop(self,index=0): if self.count<=0: return None else: value = self.item[0] self.count -= 1 self.item[0] = self.item[self.count] self.item[self.count] = None self.setdown(0) return value def setdown(self,index): left=index*2+1 right=index*2+2 largest=index if right<self.count: if self.item[largest]<self.item[right] and self.item[right]>self.item[left]: largest=right elif self.item[largest]<self.item[right] and self.item[right]<self.item[left]: largest=left elif self.item[largest]>self.item[right] and self.item[largest]<self.item[left]: largest=left elif left<self.count: if self.item[left]>self.item[largest]: largest=left if largest !=index: self.item[largest],self.item[index]=self.item[index],self.item[largest] self.setdown(largest) heap=Heap() heap.add(10) heap.add(15) heap.add(20) # heap.pop(20) heap.pop(10) for i in heap.item: if i: print(i)
运行结果:
老师请问一下,为什么我最大堆删除10以后,再打印,结果还是会显示10?我不是已经把10删除了吗?那么这样结果不应该是20和15吗?
老师,我增加了一个语句为什么显示好几个?
<?php echo '<pre>'; $con=mysqli_connect('localhost','root','','beixidb'); if($con){ mysqli_query($con,'set names utf8'); mysqli_query($con,'set character_set_client utf8'); mysqli_query($con,'set character_set_results utf8'); //插入sql语句 $sql="insert into userinfo(username,password) values('lisi','13')"; $sql="insert into userinfo(username) values('zhoujielun')"; $sql="insert into userinfo values('yangmi','14')"; //修改sql语句 $sql="update userinfo set password='666' where username='lisi'"; //删除sql语句 //$sql="delete from userinfo where username='yangmi'"; $result=$con->query($sql); var_dump($result); }else{ echo '连接失败!'; } ?>
flask_shop.zip
vue_shop.zip
老师 求助!!!
我前端可以拿到后端的数据 但是增加数据 修改数据都不行 运行代码也不报错
我找了半天 也改了 但是都不行 发送请求之前验证数据是否规范是false 我觉得可能是这里的错误
希望老师帮忙!!!
var i=1; while(i<=100) { document.write(i+"<br/>"); i=i+1; }
老师,document和console有啥区别?这俩个应该什么时候用?
为什莫我按老师的编码打出来是这样的结果,哪里出错了呢
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637