python - 用户输入循环
问题描述
我无法让这段简短的代码工作。我想要做的是要求用户输入一个 4 个字母的单词,如果他们不输入,那么请他们再试一次,如果他们输入了,那么表示感谢。我添加了 while True, try & except 部分,因为它看起来是保持循环的最佳方式,但我并没有真正理解。
while True:
try:
word=input("Please enter a four letter word: ")
word_length=len(word)
except word_length != 4:
print("That's not a four letter word. Try again: ")
continue
else:
break
if word_length ==4:
print("Thanks")
解决方案
except
用于捕获异常(其他语言使用try
andcatch
代替)。
在这种情况下,您只需要使用一个简单if
的来检查该值是否是您想要的:
while True:
try:
word = input("Please enter a four letter word: ")
word_length = len(word)
except TypeError:
print('error getting word length')
else:
if word_length != 4:
print("That's not a four letter word. Try again: ")
else:
break
if word_length == 4:
print("Thanks")
推荐阅读
- c# - 如何在 C# 中启用/禁用面板/按钮?
- angular - 如何在 Angular 上使用 API 创建实时搜索
- ios - 在某些设备上,数据未保存在 UserDefaults 中
- google-cloud-firestore - 冗余快照侦听器和读取
- python-3.x - 想使用 smtplib 发送电子邮件,但收件人地址有问题
- sql-server - 从 Linux 命令行恢复 dacpac 文件
- pyspark - 如何避免将整个数据帧加载到内存中
- javascript - MongoDB数据库没有保存数据
- android - 配置项目“:@react-native-firebase_messaging”时出现问题。> compileSdkVersion 未指定
- node.js - WEBPACK 弃用数组使用 web pack 5 在角度 11 中设置警告