0

関数を使用して文字列の特定の部分を取得するにはどうすればよいですか?
たとえば、私の文字列が次のようなデータで構成されているとします:「12345678 123456.78 Doe, John D.」# 銀行のソフトウェアを表すデータ # 文字列の最初の文字を int にし、文字列の 2 番目の部分を float にし、最後の部分を自動的に文字列のままにするように Python に指示するにはどうすればよいでしょうか?

for line in file_obj:
    print(line) #would yield something like this '12345678 123456.78 Doe, John D.'

次のような機能がある場合:

def find_balance():
    return float  

def find_acc_num():
    return int
def find_name():
    return str

私のパラメータは何ですか?反復は問題を解決するための最良の方法でしょうか? ユーザーが正しい口座番号を提供できる限り、口座情報 (残高と名前) を変更できるようにしたいと考えています。私は関数を使用するのが初めてで、これを行う方法が少しわかりません...

助けてくれてありがとう、本当に感謝しています。=D

4

2 に答える 2

5

2str.split()の aで使用できます。maxsplit

>>> s = '12345678 123456.78 Doe, John D.'
>>> 
>>> v = s.split(None, 2)
>>> int(v[0]), float(v[1]), v[2]
(12345678, 123456.78, 'Doe, John D.')
于 2013-09-29T02:25:17.937 に答える
1

おそらく宿題だけど退屈だ

for line in file_obj:
    #Make a list of parts separated by spaces and new lines
    #The second argument says to only split up the first two things
    parts = line.split(None, 2)
    #Assign each value
    theint = int(parts[0])
    thefloat = float(parts[1])
    thestring = parts[3].strip()

必要に応じて、各関数にパーツを渡すことで、複数の関数でこれを行うことができます。

編集: @arshajii の提案で最大長を使用するようにコードを変更しました。また、文字列の末尾にある改行を取り除きました。

于 2013-09-29T02:25:33.280 に答える