Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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 while循环在输入整数时继续。输入字符串或字符时中断_Python_String_Input_While Loop_Integer - Fatal编程技术网

Python while循环在输入整数时继续。输入字符串或字符时中断

Python while循环在输入整数时继续。输入字符串或字符时中断,python,string,input,while-loop,integer,Python,String,Input,While Loop,Integer,我是python新手,正在尝试弄清楚如何使这个程序只获取一个字符串或字符,然后让它拼写出所述的字符串/字符。不幸的是,当使用while word!=str()或chr(): word=input(“输入字符串或字符…”)即使在输入字符串/字符开始时,也会不断提示我“输入字符串或字符”。我如何才能着手解决这个问题,使程序获取一个字符串并中断while循环,以便它可以拼写我键入的任何内容 word = input("What is your word? ") while word != str()

我是python新手,正在尝试弄清楚如何使这个程序只获取一个字符串或字符,然后让它拼写出所述的字符串/字符。不幸的是,当使用while word!=str()或chr(): word=input(“输入字符串或字符…”)即使在输入字符串/字符开始时,也会不断提示我“输入字符串或字符”。我如何才能着手解决这个问题,使程序获取一个字符串并中断while循环,以便它可以拼写我键入的任何内容

word = input("What is your word? ")

while word != str() or chr():
    word = input("Enter a string or character...")

for char in word:
    print(char)
请尝试以下操作:

word = input("What is your word? ")

while type(word) is not str():
    word = input("Enter a string or character...")

for char in word:
    print(char)
此外,输入将始终是字符串

如果要检查数字输入,则应执行以下操作:

try:
    int(word)
except ValueError:
    # input is a string
else:
   continue  # input is a number

也许像这样的方法会奏效:

word=input(“你的词是什么?”)
而word.isdigit():#该单词只包含数字
word=输入(“输入字符串或字符…”)
对于word中的字符:
打印(字符)
几点注意:

  • 在您的代码
    word!=只要输入不是空的,str()
    将保持为真,因为
    str()
    是一种(非常难看的)初始化空字符串的方法
  • input()
    的返回类型是str。如果要将其视为整数或任何其他类型,则必须强制转换/解析它

  • 这里有几个问题。但是,它们都不是真正相关的,因为
    input
    总是返回
    str
    对象,所以您不需要检查
    word
    的类型。谢谢!现在说得通了。你做过研究吗?在线上有很多有用的资源。检查
    而类型(word)不是str():
    将始终为
    True
    type(word)
    在这种情况下将始终返回
    ,而
    str()
    将始终返回
    '
    (空字符串)。这两样东西永远不会相等。您要查找的是
    ,而不是isinstance(word,str):
    ,但这始终是
    True
    ,因为
    input()
    总是返回字符串。