Python 将两个值赋给一个变量
我将尽可能地解释这一点,而不会给出太多关于我正在尝试做什么的细节 我有一个网站Python 将两个值赋给一个变量,python,selenium,Python,Selenium,我将尽可能地解释这一点,而不会给出太多关于我正在尝试做什么的细节 我有一个网站Website1,其产品x的值为1 我有另一个网站Website2,它的产品x值为2 产品“x”有两个值需要配对。这是使用元组实现的吗 x = [1, 2] 在Website2上,我需要在循环中逐个检查行项目列表。当它找到productx并匹配元组中Website1中的连接值2时,我需要执行一个函数来更改实现值,移动到下一行项目以执行下一次检查。这是我到目前为止得到的,我甚至不确定逻辑是否接近 x = [1, 2]
Website1
,其产品x
的值为1
我有另一个网站Website2
,它的产品x
值为2
产品“x”有两个值需要配对。这是使用元组实现的吗
x = [1, 2]
在Website2
上,我需要在循环中逐个检查行项目列表。当它找到productx
并匹配元组中Website1
中的连接值2时,我需要执行一个函数来更改实现值,移动到下一行项目以执行下一次检查。这是我到目前为止得到的,我甚至不确定逻辑是否接近
x = [1, 2]
if Website1 == x:
LineItem.find_element_by_xpath('./td[4]/div/div/input').clear()
time.sleep(2)
LineItem.find_element_by_xpath('./td[4]/div/div/input').send_keys("1")
else:
LineItem.find_element_by_xpath('./td[4]/div/div/input').clear()
time.sleep(2)
LineItem.find_element_by_xpath('./td[4]/div/div/input').send_keys("0")
是的,您可以轻松地使用元组为变量分配两个值(整个元组被分配给变量): 旁注:
[]
定义的是列表,而不是元组。后者是前者的不变变体您应该使用元组
x = (1, 2)
要从元组中获取值,只需执行以下操作:
x[0]
获取第一个值,x[1]
获取下一个值,依此类推 可以使用元组,但不必使用。这只是一种方法。[]
s中包含的是一个数组。您也可以使用它,如果您添加第三个+网站,您不必更改数据结构,只需添加一个新值,例如,x=[1,2,3]
,因此使用该数组可以使以后的扩展比元组更容易
现在是代码。在没有更多解释的情况下理解您的逻辑有点困难,但这应该可以解决您的问题(并简化您的代码)
您会注意到,if
和else
块的代码基本相同。唯一的区别是send_keys()
中的“1”与“0”。你应该做一些阅读和枯燥的练习,但核心概念是不要重复你自己。将重复的行拉出到名为set\u fulfillment\u value()
的方法中(您可能希望给它一个更合适的名称)
使用if
设置要发送的值,然后将其传递到方法中
x = [1, 2]
value = None
if Website1 == x[0]:
value = "1"
else:
value = "0"
set_fulfillment_value(value)
注意:我知道命名很难,但您应该使用更好的变量名
Website1
听起来可能更适合命名为product
?另外,LineItem
也不是很python-y<代码>行项目可能会更好
myValues = (a, b, c)
这将创建一个元组,您可以在其中存储多个值。
要获取不同的值,只需使用
myValues[0]
获取第一个元素即可。这不是tupleThank。我提供的代码中如何匹配它们的逻辑正确吗?我用大括号替换了括号,但在“if”语句中找不到匹配项。if-Website1==x[0]
如果x
的第一个元素是Website1
x = [1, 2]
value = None
if Website1 == x[0]:
value = "1"
else:
value = "0"
set_fulfillment_value(value)
myValues = (a, b, c)