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)は構文エラーではありません。変数が呼び出されていない場合は NameError です。TEST0110

SomeString(0110TEST) 構文エラーです

これは0110数字だからですが、ゴミが続きます

SomeString("TEST0110")おそらくあなたが意味するものです。文字列を関数に渡します

常に a を渡していることを確認する場合はstr、呼び出す必要はありませんstr()

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