我正在读一个名字,正如你在下面看到的,但是不管你输入什么,它都会丢失第一个字符,例如,“Bob”将变成“ob”。因此,我无法将用户的输入与他们正在搜索的内容进行比较,从而破坏了整个程序。在
def Find() :
global AddressBookAll
Success = false
PersonToFind = str(raw_input("\nEnter the nickname of the person you would like to find: "))
for x in AddressBookAll :
if(x == PersonToFind) :
success = true
printNow("\n%s" %(x))
for y in AddressBookAll[x] :
printNow("%s" %(y))
if(Success == false) :
printNow("\nNot Found.")
你的代码有一些问题。在
首先,不应该使用全局变量。将地址簿传递给您的函数会更有意义。别担心,只会通过一个参考,所以很便宜。在
其次,函数名(以及除类之外的其他变量名)应该是小写的。在
第三,不需要对已经返回字符串的
str()
调用str()
。在第四,使用
.format()
字符串语法,而不是%
字符串格式。在第五,}将失败。在
x
似乎是AddressBookAll
中的一个字符串(这是一个猜测,因为您正在将PersonToFind
与它进行比较)。希望AddressBookAll
是一个字典,否则{第六,如果一个字符被丢弃在任何地方,它必须在
printNow()
中,而您还没有向我们展示这个字符。在你的代码中没有其他地方会发生类似的事情。在第七,案件重要。}不同。}都不是。在
True
与{Success
和{第八,Python不是Java。^例如,{}不需要括号。在
相关问题 更多 >
编程相关推荐