Python 如何编写函数,以便在输入时打印delimeter过长?
我在写函数时遇到了麻烦,所以当输入多个字符时,它会打印出delimeter太长的语句。返回值none,但我不知道怎么做。对于python来说是个新手,这对了解一些信息会有很大帮助。提前谢谢 这就是我所做的Python 如何编写函数,以便在输入时打印delimeter过长?,python,string,split,function,Python,String,Split,Function,我在写函数时遇到了麻烦,所以当输入多个字符时,它会打印出delimeter太长的语句。返回值none,但我不知道怎么做。对于python来说是个新手,这对了解一些信息会有很大帮助。提前谢谢 这就是我所做的 def my_split(_,_): my_sep = input("seperator: ") my_str = input("sentence: ") def main(): #your main program here print("Enter a
def my_split(_,_):
my_sep = input("seperator: ")
my_str = input("sentence: ")
def main():
#your main program here
print("Enter a string to be split: ")
print("Enter the delimiter character: ")
print("the result is: ")
for(my_sep):
if(my_sep <1):
print(" the delimeter is too long.")
return None
print("enter a string to be split: ")
print("enter the delimeter character: ")
print(" the result is: ")
main()
def my_split(u,u):
my_sep=输入(“分隔符:”)
my_str=输入(“句子:”)
def main():
#你的主要节目在这里
打印(“输入要拆分的字符串:”)
打印(“输入分隔符:”)
打印(“结果为:”)
关于(我的九月):
如果(我的九月)
但不清楚您希望将其放在代码中的什么位置。您试图从哪个函数返回None
?我想您希望这样:
def main():
#your main program here
my_str = input("Enter a string to be split: ")
my_sep = input("Enter the delimiter character: ")
if len(my_sep) > 1:
print(" the delimeter is too long.")
return None
result = # do the actual splitting code here
return result
result = main()
print("the result is:", result)
def my_split():
my_sep = raw_input("seperator: ")
my_str = raw_input("sentence: ")
return my_sep,my_str
def main():
my_sep,my_str = my_split()
if len(my_sep) > 1:
print " the delimeter is too long."
else:
result = my_str.split(my_sep)
print "the result is: ", result
if __name__=='__main__':
main()
填写了#在此处执行实际的代码拆分
,下面是我运行两次此操作时发生的情况:
Enter a string to be split: Hello, World
Enter the delimiter character: ,
the result is: ['Hello', ' World']
Enter a string to be split: Hello, World
Enter the delimiter character: lo
the delimiter is too long.
the result is: None
这里您定义了一个名为“my_split”的函数。您告诉Python“my_split”接受两个参数,但您将这两个参数都命名为“u”(下划线)。这是无效的。由于此函数看起来不需要来自程序的任何输入,而是从用户处获取输入,因此您可以在不使用任何参数的情况下声明此函数:
def my_split():
my_sep = raw_input("seperator: ")
my_str = raw_input("sentence: ")
return my_sep,my_str
注意,我还将input()更改为raw_input()。input()是一个从终端执行代码输入的函数。这不是您想要做的。您还需要返回收集到的值
def main():
#your main program here
print("Enter a string to be split: ")
print("Enter the delimiter character: ")
print("the result is: ")
main()函数在技术上没有什么问题,但它并没有做您希望它做的事情。它打印这三行和结尾。下面是一个更完整的main()函数,它利用了我们已经编写的my_split函数:
def main():
my_sep,my_str = my_split()
result = my_str.split(my_sep)
print "the result is: ", result
请注意,您可以从一个函数返回两个值,并在调用该函数时设置两个值
for(my_sep):
if(my_sep <1):
print(" the delimeter is too long.")
您几乎肯定不想从input
更改为raw\u input
,因为OP可能在Python 3中工作(给定print
函数而不是print
语句)。
for(my_sep):
if(my_sep <1):
print(" the delimeter is too long.")
def my_split():
my_sep = raw_input("seperator: ")
my_str = raw_input("sentence: ")
return my_sep,my_str
def main():
my_sep,my_str = my_split()
if len(my_sep) > 1:
print " the delimeter is too long."
else:
result = my_str.split(my_sep)
print "the result is: ", result
if __name__=='__main__':
main()