会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132808个问题

from tkinter import *


class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master = master
        self.pack()

        self.createWight()

    def createWight(self):
        btnTEXT = (("MC", "M+", "M-", "MR"),
                   ("C", "±", "/", "*"),
                   (7,8,9,"-"),
                   (4,5,6,"+"),
                   (0,1,2,"="),
                   (0,"."))
        Entry(self).grid(row=0,column=0, columnspan=4,pady=10)
        for rindex,r in enumerate(btnTEXT):
            for cindex,c in enumerate(r):
                if c == "=":
                    Button(self,text=c,width=2).grid(row=1+rindex,column=cindex, rowspan=2,sticky=NSEW)
                elif c == "0":
                    Button(self,text=c,width=2).grid(row=1+rindex,column=cindex, columnspan=2, sticky=NSEW)
                elif c == ".":
                    Button(self,text=c,width=2).grid(row=1+rindex,column=cindex+1, sticky=NSEW)
                else:
                    Button(self,text=c,width=2).grid(row=1+rindex,column=cindex,sticky=NSEW)



if __name__ == '__main__':
    root = Tk()
    root.title("计算器")
    root.geometry("300x300+200+300")
    app = Application(master=root)
    root.mainloop()

老师,和您的一样,0为啥没有跨列

121ef5b2129d5061242c87b7009e7f1.png

Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 35898楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 35899楼
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 35900楼

selenium webdriver
selenium.webdriver ActionChains
openpyxl workbook
base_urls = []
shop_names = []
m_names = []
prices = []
com_names = []
offers = []
driver_base(url):
    driver = webdriver.Chrome()
    driver.get(url)
    driver.set_window_size(=, =, =)
    driver.implicitly_wait()
    driver

p_url(driver,shop_page):
    input = driver.find_element_by_id()
    input.send_keys()
    botton = driver.find_element_by_xpath()
    botton.click()
    source = driver.find_element_by_xpath()
    target = driver.find_element_by_class_name()
    actions = ActionChains(driver)
    actions.drag_and_drop(source, target)
    actions.perform()
    base_url_0 = driver.find_elements_by_xpath()
    num (,(base_url_0)):
        base_urls.append(base_url_0[num].get_attribute())
    shop_page != :
        pn_next = driver.find_element_by_class_name()
        pn_next.click()
        shop_page = shop_page - :
            source = driver.find_element_by_xpath()
            target = driver.find_element_by_class_name()
            actions = ActionChains(driver)
            actions.drag_and_drop(source, target).perform()
            base_url_1 = driver.find_elements_by_xpath()
            num (, (base_url_1)):
                base_urls.append(base_url_1[num].get_attribute())
            base_url_1.clear()
        :
            (.format( shop_page))
        :
            (.format(shop_page))
    base_urls_1 = ((base_urls))
    (.format((base_urls_1)), , base_urls_1)
    base_urls_1

p_data(base_urls_1):
    y_num = (base_urls_1)
    href base_urls_1:
        y_num =y_num - (.format(y_num))
        href_driver = webdriver.Chrome()
        href_driver.get(href)
        href_driver.set_window_size(=, =, =)
        :
            shop_name = href_driver.find_element_by_xpath()
            shop_name = shop_name.text
            m_name = href_driver.find_element_by_xpath()
            m_name = m_name.text
            price = href_driver.find_element_by_xpath()
            price = price.text
            com_num = href_driver.find_element_by_xpath()
            com_num = com_num.text
            offer = href_driver.find_element_by_id()
            offer = offer.text
            shop_names.append(shop_name)
            m_names.append(m_name)
            prices.append(price)
            com_names.append(com_num)
            offers.append(offer)
            href_driver.close()
        :
            ()
    :
            save_data(shop_names, m_names, prices, com_names, offers)


save_data(shop_names,m_names,prices,com_names,offers):
    wb = workbook.Workbook()
    ws = wb.active
    ws.append([])
    ws.append([,, , , ,])
    n ((offers)):
        ws.append([n + ,shop_names[n],m_names[n],prices[n],com_names[n],offers[n]])
    wb.save()

__name__ == :
    shop_page = (())
    url = driver = driver_base(url)
    base_urls_1 = p_url(driver,shop_page)
    p_data(base_urls_1)
    driver.close()


Python 全系列/第十四阶段:Python 爬虫开发/爬虫反反爬- 35901楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 35902楼
JAVA 全系列/第一阶段:JAVA 快速入门/控制语句、方法、递归算法 35907楼
JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 35908楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 35909楼

下面的运行不出来,谢谢,我已经认值找了,实在找不出来才找你的谢谢了

<servlet-mapping>

<serlvet-name>login</serlvet-name>

<url-pattern>login</url-pattern>

<url-pattern>log</url-pattern>

</servlet-mapping>

<servlet-mapping>

<serlvet-name>register</serlvet-name>

<url-pattern>register</url-pattern>

<url-pattern>reg</url-pattern>

<url-pattern>regis</url-pattern>

</servlet-mapping>





package com.bjsxt.server;


import java.io.File;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;


import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;


public class WedDom4j { //用于解析XML

private List<Entity> entityList;//用于存储是N多个Entity,而每个Entity都是servlet-name与servlet-class

private List<Mapping> mappingList;//用于存储Mapping的,而每个Mapping是一个serlvet-name和N多个url-pattern

public List<Entity> getEntityList() {

return entityList;

}

public void setEntityList(List<Entity> entityList) {

this.entityList = entityList;

}

public List<Mapping> getMappingList() {

return mappingList;

}

public void setMappingList(List<Mapping> mappingList) {

this.mappingList = mappingList;

}

//构造方法

public WedDom4j() {

entityList=new ArrayList<Entity>();

mappingList=new ArrayList<Mapping>();

}

//获取Document对象的方法

private Document getDocument() {

try {

//(1)创建SAXReader对象

SAXReader reader=new SAXReader();

//(2)调用read方法

return reader.read(new File("src/WEB_INFO/web.xml"));

} catch (DocumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

public void parse(Document doc) {

//(1)获取根元素

Element root=doc.getRootElement();//wed-app

//(2)获取servlet子元素

for(Iterator<Element> ite=root.elementIterator("servlet");ite.hasNext();) {

Element subEement=ite.next();//得到每一个servlet

//创建一个实体类

Entity ent=new Entity();//用于储存servlet-name与servlet-class

for(Iterator<Element> subIte=subEement.elementIterator();subIte.hasNext();) {

Element ele=subIte.next();//可能是servlet-name也可能是servlet-class

if("servlet-name".equals(ele.getName())) {

ent.setName(ele.getText()); //给实体类中的servlet-name赋值

}else if("servlet-class".equals(ele.getName())) {

ent.setClazz(ele.getText());

}

}

//将Entity添加到集合中

entityList.add(ent);

}

/*//测试

for(Entity entity:entityList) {

System.out.println(entity.getName()+"\t"+entity.getClazz());

}*/

//解析servlet-mapping

for(Iterator<Element> ite=root.elementIterator("servlet-mapping");ite.hasNext();) {

Element subEle=ite.next();//得到每一个servlet-mapping

//创建Mapping类的对象

Mapping map=new Mapping();

//解析servlet-mapping下的子元素

for(Iterator <Element> subIte=subEle.elementIterator();subIte.hasNext();) {

Element ele=subIte.next();  //servlet-name,也有可能是url-pattern

if("serlvet-name".equals(ele.getName())) {

map.setName(ele.getName());//servlet-name,也有可能是url-pattern

}else if("url-pattern".equals(ele.getName())) {

//调用集合对象,调用集合对象的添加方法,添加元素

map.getUrlpattern().add(ele.getText());

}

}

//Mapping添加到集合中

mappingList.add(map);

}

//测试

for(Mapping m:mappingList) {

System.out.println(m.getName());

for(String s:m.getUrlpattern()) {

System.out.println(s);

}

}

}

//用于测试

public static void main(String[] args) {

WedDom4j web=new WedDom4j();

web.parse(web.getDocument());

}

}


JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 35910楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637