我有一个看起来像这样的函数:
def test(in1):
if in2 = 151:
print('error')
if in2 == 1:
in1 = 14
print(in1)
该函数当前采用字符串值
我在想:
if in2 == 'one':
in2 = 14
但是由于某些原因,这不起作用
谢谢
答案 0 :(得分:0)
您只想要以下内容吗?
if in2 == 'one':
in2 = 1
答案 1 :(得分:0)
您正尝试将@can('view user', $lead)
<button>view</button>
@endcan
转换为一个无效的整数,因为python不知道单词one是指整数1。您需要做的是放在'one'
中在您的if语句正文中。
in2 = 1
答案 2 :(得分:0)
它不起作用,因为int
转换仅适用于整数 numeral 的字符串图像。 int("1")
可以工作。
Python没有内置函数将文本字符串转换为数字。您将需要为其提供某种您自己的转换功能。在您提供的受限制的示例中,这仅仅是
if in2 = "one":
in2 = 1
但是,您似乎想要一个更通用的解决方案。通常,您可以找到一些将数字短语转换为整数的程序。现在,您可能只需要一个查询表。 dict
为此很好。
str_to_int = {
"one": 1, "two": 2, "three":3, # Continue as far as you need
}
现在,您可以执行类似的操作
if in2 in str_to_int:
in2 = str_to_int[in2]
这仍然是一个笨拙的编程,因为它在出错情况下几乎没有作用,并且您已经将一个变量用于两个不同的目的-从名称上都看不出来。但是,解决所有这些问题将涉及大修,您可以根据自己的时间更好地完成。
答案 3 :(得分:-1)
guide_colorbar
这应该起作用,因为您有一个预定义的数字列表,但已明确说明。如果您的函数参数等于此列表中的字符串,它将以整数形式从数字列表中获得相应的整数并返回。