Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何读取字符串中的空格?_Python_Dictionary - Fatal编程技术网

Python 如何读取字符串中的空格?

Python 如何读取字符串中的空格?,python,dictionary,Python,Dictionary,问题是计算机器人手在移动键盘(在屏幕触摸发明之前,手机曾经拥有的旧键盘)中键入信息所需的时间。手的初始位置在键1中 例如:如果它应该键入“hack”,则从键1移动到键4需要1秒,然后键入“h”需要2秒。 现在,再次用1秒的时间从键4移动到键2,然后用1秒的时间键入“a”。 因为“c”与“a”在同一个键上,所以移动时间为0。所以输入“c”只需3秒钟。 最后,它在1秒钟内从键2移动到键5,然后在2秒钟内键入“k”。因此,总共需要1+2+1+1+3+1+2=11秒才能键入“hack”。 这是我针对上述

问题是计算机器人手在移动键盘(在屏幕触摸发明之前,手机曾经拥有的旧键盘)中键入信息所需的时间。手的初始位置在键1中

例如:如果它应该键入“hack”,则从键1移动到键4需要1秒,然后键入“h”需要2秒。 现在,再次用1秒的时间从键4移动到键2,然后用1秒的时间键入“a”。 因为“c”与“a”在同一个键上,所以移动时间为0。所以输入“c”只需3秒钟。 最后,它在1秒钟内从键2移动到键5,然后在2秒钟内键入“k”。因此,总共需要1+2+1+1+3+1+2=11秒才能键入“hack”。

这是我针对上述问题的代码:

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:" " }
numbers=['1','2','3','4','5','6','7','8','9','0']


for test in range(testcases):
    string=input()
    for character in string:
        if character in numbers:
            if position==character:
                seconds+=1
            else:
                position=character
                seconds+=2
        else:
            for keys in dictionary.keys():
                if character in dictionary[keys]:
                    if int(position)==keys:
                        seconds+=dictionary[keys].index(character)+1
                    else:
                        position=keys
                        seconds+=dictionary[keys].index(character)+2
                    break
    print(seconds)
    position,seconds=1,0
    
        

它工作正常,但现在的问题是如何读取字符串中的空格?

您可以使用字符串模块

导入字符串
字典={1:,;?”,2:“abc”,3:“def”,4:“ghi”,5:“jkl”,6:“mno”,
7:“pqrs”,8:“tuv”,9:“wxyz”,0:string.whitespace}
然后检查输入的键是否为空白

如果在dictionary.get中键入(0):
打印('输入空白')

我找不到代码有任何错误。据我所知,它确实正确地处理了空格。你说的空格是什么意思。是按空格键还是别的什么。假设字符串是
“hacker earth”
,那么中间的空格大约需要2秒钟才能键入(按两次0将提供空格)这是否回答了您的问题?