0

我需要就这个问题提出建议,这是我必须提出的输出:

interact()
Friends File: friends.csv
Command: f John Cleese
John Cleese: Ministry of Silly Walks, 5555421, 27 October
Command: f Michael Palin
Unknown friend Michael Palin
Command: f
Invalid Command: f
Command: a Michael Palin
Invalid Command: a Michael Palin
Command: a John Cleese, Cheese Shop, 5552233, 5 May
John Cleese is already a friend
Command: a Michael Palin, Cheese Shop, 5552233, 5 May
Command: f Michael Palin
Michael Palin: Cheese Shop, 5552233, 5 May
Command: e
Saving changes...
Exiting...

我需要提供一个功能来执行此操作,但我卡住了,我在想是否有任何方法可以拆分用户输入,例如,如果用户输入:

f John Cleese

我想知道是否可以将 F 和 John Cleese 拆分为单独的输入,以便单独处理输出。并且是否可以在函数内调用函数?这是我的代码:

def interact(*arg):
    open('friends.csv', 'rU')
    print "Friends File: friends.csv"
    resp = raw_input()
    if "f" in resp:
# display friend function
        display_friends("resp",)
        print "resp"
    elif "a" in resp:
# add friend function
        add_friend("resp",)

我想在函数中调用的显示好友函数

def display_friends(name, friends_list):
Fname = name[0]
for item in friends_list:
    if item[0] == Fname:
        print item
        break
    else:
        print False

提前谢谢你们

4

1 回答 1

1

首先,是的,您可以将函数调用放入其他函数中。

其次,如果您在示例“f John Cleese”中获取用户输入,那么您可以在代码中简单地使用它来做您想做的事情。例如:

s = raw_input("Please input something: ")
# now I input "f John Cleese", so that is now the value of 's'
# printing the value of 's' will let you see what it is exactly.

command = s.split(' ', 1) 
# the above code will split the string 's' on a ' ' space, 
# and only do it once, and then create a list with the pieces
# so the value of 'command' will be ['f', 'John Cleese'] for your example.

# to access items in the command list use brackets []
command[0] # 'f'
command[1] # 'John Cleese'

有了所有这些工具,您可以将其视为建议,我祝您好运!

于 2013-04-06T09:28:39.470 回答