JYTHON/PYTHON raw_输入丢失字符串的第一个字符

2024-09-28 01:24:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读一个名字,正如你在下面看到的,但是不管你输入什么,它都会丢失第一个字符,例如,“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.")

Tags: the用户infalse内容forif名字
1条回答
网友
1楼 · 发布于 2024-09-28 01:24:16

你的代码有一些问题。在

首先,不应该使用全局变量。将地址簿传递给您的函数会更有意义。别担心,只会通过一个参考,所以很便宜。在

其次,函数名(以及除类之外的其他变量名)应该是小写的。在

第三,不需要对已经返回字符串的str()调用str()。在

第四,使用.format()字符串语法,而不是%字符串格式。在

第五,x似乎是AddressBookAll中的一个字符串(这是一个猜测,因为您正在将PersonToFind与它进行比较)。希望AddressBookAll是一个字典,否则{}将失败。在

第六,如果一个字符被丢弃在任何地方,它必须在printNow()中,而您还没有向我们展示这个字符。在你的代码中没有其他地方会发生类似的事情。在

第七,案件重要。True与{}不同。Success和{}都不是。在

第八,Python不是Java。^例如,{}不需要括号。在

相关问题 更多 >

    热门问题