Python while循环在输入整数时继续。输入字符串或字符时中断
我是python新手,正在尝试弄清楚如何使这个程序只获取一个字符串或字符,然后让它拼写出所述的字符串/字符。不幸的是,当使用while word!=str()或chr(): word=input(“输入字符串或字符…”)即使在输入字符串/字符开始时,也会不断提示我“输入字符串或字符”。我如何才能着手解决这个问题,使程序获取一个字符串并中断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()
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()
总是返回字符串。