【问题标题】:How can I assign a separate name to a variable with a comma?如何用逗号为变量分配单独的名称?
【发布时间】:2013-05-12 16:24:37
【问题描述】:

你好 stackoverflow 用户。今天,我想就我项目的一小部分向您寻求帮助。 所以......我已经完成了使用 Selenium 从 div 获取文本的小型应用程序,文本不是静态的,它会随着角色的移动而变化。让我展示一下:

botloc = driver.find_element_by_id('botloc').text
    print botloc

我已经循环了它,所以我可以每 0.5 秒更新一次(字符在半秒内移动 1 个方格)。当然我知道用键绑定更好,但是在测试阶段循环对我来说很好。

[example] 输出 一个 botloc 看起来像这样:

26,20 

这是实际位置的 x 和 y,所以我想使用逗号作为分隔符来分隔 x 和 y,然后我可以将它们中的每一个分配给单个名称(def,class,等等)。

[示例]输出 5 x botloc 当我移动我的角色时看起来像这样:

28,20
28,21
28,22
29,22
30,22

所以基本上,这都是关于方形地图的,但我不知道如何使用它,所以我用简单的逻辑和数学创造了自己的想法。

我也试图从这里了解信息:http://docs.python.org/2/tutorial/inputoutput.html 但现在我想做的作业如上所述。

我正在尝试使用:

firstpart, secondpart = botloc[:len(botloc)/2], botloc[len(botloc)/2:]

但是在将它包含到我的代码中后,我的 botloc 无法正常工作(没有错误,没有文本,只有白色),而且分隔符也是,有没有可能解决这个问题?

感谢您对我新python学习者的理解!

【问题讨论】:

  • 您希望解释该文档的哪些部分?

标签: python selenium python-2.7 code-separation


【解决方案1】:
>>> botloc="28,20"
>>> botX,botY = map(int,botloc.split(','))
>>> botX,botY
(28, 20)

如果您想存储多个机器人位置,您可以这样做:

>>> botLocations = []
>>> botLocations.append(map(int,botloc.split(',')))
>>> botLocations
[[28, 20]]

每次你得到一个新的botloc,你用逗号分割它,将每个分隔的值转换成一个整数,并将它存储在 botLocations 中。


botloc[:len(botloc)/2], botloc[len(botloc)/2:]

如果 botLoc 不均匀,即198,2,将无法工作。相反,您将不得不做类似的事情

>>> botloc="28,20"
>>> botloc[:botloc.index(',')]
'28'
>>> botloc[botloc.index(',')+1:]
'20'

分隔字符串。

【讨论】:

  • @Mezulith 很高兴它有帮助:)
  • 已经用循环的 botloc、botX、botY 测试了 def。结果是完美的:>>> repeat() 29,16 29 16 但我不明白如何存储位置,是存储类似于字典的东西吗?我必须手动添加每个值吗?或者我可以通过在每个方格上移动我的角色来自动化该过程以建立完整的商店吗?
猜你喜欢
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多