如何确保函数将我写的内容转换为字符串

时间:2018-12-23 03:23:36

标签: python

代码如下:

abc = ['abcdefghijklmnopqrstuvwxyz', 'secondstring', 'thirdstring']

def findletter(letter, l1st, idx):

    if letter in l1st[idx]:
        print("found")
    else:
        print("not found")

findletter("i", abc, 0)

这可行,但是我有几个问题:

  1. 为什么在不加引号的情况下写字母'i'会导致错误?
  2. 我该怎么做,以便使用不带引号的字母?

谢谢。

3 个答案:

答案 0 :(得分:3)

“不带引号的字母”将是一个变量。

如果首先将该变量设置为字符串,则它将正常工作而不会出错。

i = "something"
findletter(i, abc, 0)

否则,它是一个未声明的变量,这是一个错误。

答案 1 :(得分:0)

写不带引号的i会将其视为未分配给我的变量 第二,str(abc)将作为str()将所需的内容转换为字符串

答案 2 :(得分:0)

如果您写的“ i”不带引号,它将被当作变量而不是字符串。 如果您不想硬编码要搜索的内容,请尝试以下操作:

abc = ['abcdefghijklmnopqrstuvwxyz', 'secondstring', 'thirdstring']

def findletter(letter, l1st, idx):

    if letter in l1st[idx]:
        print("found")
    else:
        print("not found")

i = input("Enter the string to be searched: ")
findletter(i, abc, 0)

每次运行代码时,这都会询问您要在shell中搜索什么,并且input()函数始终将值作为字符串返回。