0

我将如何使用函数来获取字符串的特定部分?
比如说我的字符串由如下数据组成:'12345678 123456.78 Doe, John D.' # 可以代表银行软件的数据# 我如何告诉 python 使字符串的第一个字符为 int,字符串的第二部分为浮点数,最后一部分应自动保持为字符串,对吗?

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

您可以使用str.split()2maxsplit个:

>>> 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 回答