我如何使用函数来获取字符串的特定部分?
比方说我的字符串包含如下数据:
'12345678 123456.78 Doe,John D.' #可以代表银行软件的数据#
我如何告诉python使字符串的第一个字符为int,字符串的第二部分为float,最后一部分应自动保持为字符串?
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
答案 0 :(得分:5)
您可以str.split()
使用maxsplit
2:
>>> 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.')
答案 1 :(得分: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的建议中使用最大长度。还在字符串末尾删除了换行符。