小编Aja*_*234的帖子

从单词列表中最长的单词链

所以,这是我正在尝试的功能的一部分.

我不希望代码太复杂.

我有一个单词列表,例如

words = ['giraffe', 'elephant', 'ant', 'tiger', 'racoon', 'cat', 'hedgehog', 'mouse']
Run Code Online (Sandbox Code Playgroud)

单词链序列的概念是下一个单词以最后一个单词结尾的字母开头.

(编辑:每个单词不能多次使用.除此之外没有其他限制.)

我希望输出给出最长的单词链序列,在这种情况下是:

['hedgehog', 'giraffe', 'elephant', 'tiger', 'racoon']
Run Code Online (Sandbox Code Playgroud)

我不确定该怎么做,我尝试过不同的尝试.其中一个......

如果我们从列表中的特定单词开始,此代码正确地找到单词链,例如单词[0](所以'giraffe'):

words = ['giraffe', 'elephant', 'ant', 'tiger', 'racoon', 'cat', 'hedgehog', 'mouse']

word_chain = []

word_chain.append(words[0])

for word in words:
    for char in word[0]:

       if char == word_chain[-1][-1]:
            word_chain.append(word)

print(word_chain)
Run Code Online (Sandbox Code Playgroud)

输出:

['giraffe', 'elephant', 'tiger', 'racoon']
Run Code Online (Sandbox Code Playgroud)

但是,我想找到最长的单词链(如上所述).

我的方法:所以,我尝试使用我编写和循环的上述工作代码,使用列表中的每个单词作为起点,找到每个单词[0],单词[1],单词[2]的单词链然后我尝试通过使用if语句找到最长的单词链,并将长度与前一个最长的链进行比较,但我无法正确完成它,我真的不知道这是怎么回事.

words = ['giraffe', 'elephant', 'ant', 'tiger', 'racoon', 'cat', 'hedgehog', 'mouse']

word_chain = []
max_length = 0
for starting_word_index in range(len(words) - …
Run Code Online (Sandbox Code Playgroud)

python recursion graph path-finding

37
推荐指数
3
解决办法
4292
查看次数

Ajax GET请求已发送两次

作为Flask应用程序的一部分运行Ajax请求时,遇到了令人困惑的行为。我已经编写了一个处理程序来接收div点击,然后将带有某些数据的Ajax请求发送到我的中指定的特定路由app.py。然后将数据插入数据库。尽管在自己的计算机上运行Flask应用程序时,这种方法效果很好,但是将应用程序移至另一个托管服务(Pythonanywhere)时,每次单击div,请求都会被发送两次,这证明了将数据两次插入到数据库。

曾经有人问过这个问题的类似变体(例如,在这里这里),但是POST当我使用时,这些问题都处理了请求GET。此外,这些问题通常涉及formPOST请求一起提交的HTML ,因此是附加请求。但是,我的代码没有任何形式。

我的代码示例(经过简化,但实际上与我目前的工作相同):

frontend.html

<div class='wrapper'>
   <div class='submit_stamp' data-timestamp='2019-8-2'>Submit</div>
</div>
Run Code Online (Sandbox Code Playgroud)

frontend.js

$('.wrapper').on('click', '.submit_stamp', function(){
   $.ajax({
     url: "/submit_time",
     type: "get",
     data: {time: $(this).data('timestamp')},
     success: function(response) {
       $('.wrapper').append(response.html);
     },

   });
});
Run Code Online (Sandbox Code Playgroud)

app.py

@app.route('/submit_time')
def submit_time():
   db_manager.submit_stamp(flask.request.args.get('time'))
   return flask.jsonify({'html':'<p>Added timestamp</p>'})
Run Code Online (Sandbox Code Playgroud)

这样,每当我单击该submit_stamp元素时,Ajax请求都会触发两次,时间戳两次插入到我的数据库中,并且"Added timestamp"两次附加到.wrapper。我为解决此问题所做的一些事情包括:

  1. event.stopPropagation()在处理程序中添加

  2. 使用布尔标志系统,在该系统中true,单击后将变量设置为,然后false在中将其重置为success …

html javascript ajax jquery flask

11
推荐指数
1
解决办法
568
查看次数

如何在列表中组合相似的字符?

我正在尝试组合列表中彼此相邻的相似字符.我想知道是否有Python方法可以做到这一点?这是一个例子:

test = 'hello###_world###test#test123##'
splitter = re.split("(#)", test)
splitter = filter(None, splitter)
Run Code Online (Sandbox Code Playgroud)

这在splitter变量中返回:

['hello', '#', '#', '#', '_world', '#', '#', '#', 'test', '#', 'test123', '#', '#']
Run Code Online (Sandbox Code Playgroud)

我正在尝试组合哈希,所以列表变成了这样:

['hello', '###', '_world', '###', 'test', '#', 'test123', '##']
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python

10
推荐指数
2
解决办法
290
查看次数

BadPrototypeError:Objective-C需要1个参数,Python参数有2个参数

我正在使用python模块pyttsx进行文本到语音,当我运行代码时,我收到此错误:

     File "Practice_File.py", line 2, in <module>
     engine = pyttsx.init()
     File "/Library/Python/2.7/site-packages/pyttsx/__init__.py",
     line 39, in init
     eng = Engine(driverName, debug)
     File "/Library/Python/2.7/site-packages/pyttsx/engine.py", line
     45, in __init__
     self.proxy = driver.DriverProxy(weakref.proxy(self), driverName,
     debug)
     File "/Library/Python/2.7/site-packages/pyttsx/driver.py", line
     64, in __init__
     self._module = __import__(name, globals(), locals(), [driverName])
     File "/Library/Python/2.7/site-packages/pyttsx/drivers
     /nsss.py", line 26, in <module>
     class NSSpeechDriver(NSObject):
     objc.BadPrototypeError: Objective-C expects 1 arguments, Python
     argument has 2 arguments for <unbound selector initWithProxy of
     NSSpeechDriver at 0x107592e68>
Run Code Online (Sandbox Code Playgroud)

这是我的python代码:

    import pyttsx
    engine = pyttsx.init()
    engine.say('Good morning.')
    engine.runAndWait()
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题的任何想法?谢谢.

python pyttsx

6
推荐指数
0
解决办法
1708
查看次数

构建组织结构图

我在编写可以读取员工/经理CSV的算法时遇到问题,并输出一个有关员工/经理关系的有向图.

我的foobar示例:给出以下CSV文件

john,
jill, john
tom, john
tim, jill
felisa, tom
ray, tom
bob, tim
jim, tim
pam, felisa
ben, ray
james, ray
mike, pam
rashad, ben
henry, james
Run Code Online (Sandbox Code Playgroud)

如何构建DiGraph,以便显示以下组织结构:

         john
        /    \
     jill    tom
     /       /  \
   tim   felisa  ray
 /  \      /     /  \
bob jim   pam  ben  james
          /     /       \
        mike   rashad    henry
Run Code Online (Sandbox Code Playgroud)

显然这是一个图形问题,但我在确定使用哪个结构时遇到问题(例如,最好是使用dict或构建自定义OrganizationalGraph对象等).任何帮助表示赞赏.

选择的语言并不重要(虽然我们可以简单地说Python是相应的[更新后的标签]),我更倾向于试图理解这类问题的基本原理(即递归与迭代,使用set()存储经理的直接报告与使用抽象的数据结构.最后,不,使用标准库之外的任何包都是非首发.

python algorithm graph python-3.x

6
推荐指数
1
解决办法
205
查看次数

Flask-具有动态标签的切换按钮

我是Flask的新手,并且想在我的网站上创建一个On / Off切换按钮。我想知道是否以及如何可以包括动态标签。下图显示了我的想法:

我当时在考虑使用a,wtfforms SubmitField但我不太了解如何在我的route.py文件和html模板之间实现这种动态行为。我在想这样的事情:

forms.py:

from flask_wtf import FlaskForm
from wtforms import SubmitField

class PowerSwitchForm(FlaskForm):
    power_switch = SubmitField("ON")
Run Code Online (Sandbox Code Playgroud)

route.py:

from flask import render_template, flash, redirect, url_for
from app import app
from app.forms import PowerSwitchForm

@app.route('/power', methods=['GET', 'POST'])
def power():
  power_switch = PowerSwitchForm()
  if power_switch.power_switch.label.text == "ON" and power_switch.validate():
    flash("Power has been turned ON")
    power_switch.power_switch.label.text = "OFF"
    return redirect(url_for('power')
  elif power_switch.power_switch.label.text == "OFF" and power_switch.validate():
    flash("Power has been turned OFF")
    power_switch.power_switch.label.text = "ON"
    return redirect(url_for('power')
  return render_template('power.html', form0=power_switch) …
Run Code Online (Sandbox Code Playgroud)

python jinja2 flask flask-wtforms

5
推荐指数
1
解决办法
2864
查看次数

导入错误:没有名为报纸的模块

我正在尝试构建一个 python 程序,该程序将显示某些新闻网站的各种标题。我使用 pip 安装模块报纸,但是当我运行程序时,出现错误:

导入错误:没有名为报纸的模块

有想法该怎么解决这个吗?

python python-newspaper

4
推荐指数
1
解决办法
1万
查看次数

如何在Kivy中更改按钮的背景颜色?

我正在尝试构建一个简单的应用程序,每次点击我在kivy中构建的按钮时播放音乐.我想添加图形和样式,因为默认颜色只是纯灰色.如何将颜色更改为红色?我尝试过实现background_color参数,但这并没有改变任何东西.我在下面附上了我的代码:

   <Test>:
      do_default_tab: False
      Widget:
         canvas.before:
            Rectangle:
                size: self.size
                pos: self.pos


     TabbedPanelItem:

         text: 'Opera'

         text_size: self.size


         BoxLayout:
            orientation: 'vertical'
            padding: 20
            spacing: 10

            Button:

               text: 'Nessun Dorma'
               text_size: self.size
               on_press: root.nessun_dorma()


               halign: 'center'
               valign: 'middle'

               font_size: 20
Run Code Online (Sandbox Code Playgroud)

python kivy kivy-language

3
推荐指数
1
解决办法
2783
查看次数

String Regex中的Python大写和小写条件

我正在尝试编写一个正则表达式来扫描字符串并查找所有"hello"实例,包括大写和小写字母.问题是虽然简单

the_list = re.compile(r'hello')
Run Code Online (Sandbox Code Playgroud)

只需要字符串中的"hello",我希望表达式能够找到大写和小写字母的所有"hello"版本,例如:

Hello, HELlo, hEllo, HELLO, heLLO, etc.
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

the_list = re.compile(r'[a-z][A-Z]hello')
Run Code Online (Sandbox Code Playgroud)

但没有运气.谁能解释一个更好的方法来编写这个正则表达式?

python regex

3
推荐指数
1
解决办法
5643
查看次数

用于从 SQL 语句中的 from 子句中提取表名的 python 库,

我有一个复杂的 SQL,如下所示。我正在寻找一个 python (3+) 库,它可以提取 from 子句中包含的表名。我正在映射客户的数据库、视图和报告,并且有数十个查询要映射,因此需要自动化该作业。

\n

已经看过 Python-sqlparse 、 sqlparse ,但我不确定它们是否能胜任这项任务,我正在努力避免学习曲线。

\n
SELECT --Locais Dispon\xc3\xadveis para Abertura de Ordens de corte\n     COALESCE(a."Chave", b."Chave") AS "Chave",\n     COALESCE(a."Unidade", b."Unidade") AS "Unidade",\n     COALESCE(a."Fazenda", b."Fazenda") AS "Fazenda",\n     COALESCE(a."Talhao", b."Talhao") AS "Talhao",\n     COALESCE(a."Participacao", b."Participacao") AS "Participacao",\n     CASE\n       WHEN a."Condicao" = 'Dispon\xc3\xadvel Parcial (Moagem)' AND\n            b."Condicao" = 'Dispon\xc3\xadvel Parcial (Mudas)' THEN\n        'Dispon\xc3\xadvel (Safra+Mudas)'\n       ELSE\n        COALESCE(a."Condicao", b."Condicao")\n     END AS "Condicao",\n     COALESCE(a."Estagio", b."Estagio") AS "Estagio",\n     COALESCE(a."Variedade", b."Variedade") AS "Variedade",\n     COALESCE(a."Ciclo Maturacao", b."Ciclo Maturacao") AS "Ciclo Maturacao",\n …
Run Code Online (Sandbox Code Playgroud)

python sql parsing

3
推荐指数
1
解决办法
3021
查看次数