1

我是 python 的初学者,在尝试我的新程序时遇到了问题。我试图定义一个函数来小写输入,但它只适用于整数,但 int 与字母,也不是字母,这就是我得到的:

def SomeString(string):
    lowcase = str(string)
    lowcase.lower()
    print lowcase

只有整数有效,带字母或字母的整数无效:

>>> SomeString(TEST0110)
SyntaxError: invalid syntax

>>> SomeString(TESTString)

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    SomeString(TESTString)
NameError: name 'TESTString' is not defined

我尝试不使用函数来执行此操作,并且效果很好:

>>> String = "TEST0110"
>>> String.lower()
'test0110'

我不知道为什么它不适用于功能,请帮助。
谢谢。

4

2 回答 2

3

这样做SomeString("TEST0110")而不是SomeString(TEST0110)

当您编写SomeString(TEST0110)代码时,假定TEST0110是一个变量,但在您的情况下它不是

引号""表示它是一个字符串

该错误NameError: name 'TESTString' is not defined意味着您的代码正在尝试查找具有名称的变量TESTString

该函数.lower()返回您未捕获的输出...

于 2012-07-06T03:58:09.837 回答
3

SomeString(TEST0110)不是语法错误,如果您没有名为的变量,则为 NameErrorTEST0110

SomeString(0110TEST) 语法错误

这是因为它0110是一个数字,但后面是垃圾

SomeString("TEST0110")大概就是你的意思。它将一个字符串传递给函数

如果你确保你总是通过 astr你不需要打电话str()

def SomeString(my_string):
    lowcase = my_string.lower()
    print lowcase
于 2012-07-06T04:07:22.860 回答