Python string.split()作为参数传递给另一个函数时不起作用
我的代码:Python string.split()作为参数传递给另一个函数时不起作用,python,string,split,Python,String,Split,我的代码: testcases=int(input()) position=1 seconds=0 dictionary={1:".,;?", 2:"abc", 3:"def", 4:"ghi", 5:"jkl", 6:"mno", 7:"pqrs", 8:"tuv", 9:"wxyz"
testcases=int(input())
position=1
seconds=0
dictionary={1:".,;?", 2:"abc", 3:"def", 4:"ghi", 5:"jkl", 6:"mno",
7:"pqrs", 8:"tuv", 9:"wxyz", 0:" " }
def calculation(array,position):
s=0
print(array) # Here array shows ['1 2']
for string in array:
for character in string:
if character in str(dictionary.keys()):
if position==int(character):
s+=1
else:
position=int(character)
s+=2
print(position)
#break
return s
for test in range(testcases):
string=input()
if string.isspace()==False:
seconds=calculation([string],position)
else:
seconds=calculation(string.split(),position) #Suppose my string="1 2"
假设我将
“12”
作为输入,那么当我在函数calculation()
中打印字符串时,字符串显示为['12']
,而不是['1',2']
。为什么会发生这种情况?这里的[string]
将构成唯一元素string
的列表。如果.isspace()
为True,则可能需要调用这样的函数:
if string.isspace():
seconds=calculation([string],position)
else:
seconds=calculation(string.split(),position)
但是我希望字符串被拆分,只有在有空格的情况下。你在文档中读过isspace的定义吗?如果字符串中的所有字符都是空白字符,isspace将返回True。顺便说一句,您甚至不需要
if…else
块。请尝试print('1'.split())
和print('1 2 3'.split())
查看原因。