python-2.7 - 如何只接受 3 位数字的输入?
问题描述
UserNumber = 0
UserNumber = int(raw_input("Enter a 3 digit number: "))
if UserNumber >= 100 and UserNumber <= 999:
print "My name is: xxxxx xxxxx"
print "My UBIT name is: xxxxxxx"
print "The number you entered was", UserNumber, "."
如何使程序仅在输入 3 位数字时运行(即数字 > 99 和数字 < 1000?我知道它必须是某种 while 循环,但我不知道如何实现它。
解决方案
您可以使用正则表达式检查数字是否为 3 位数字,然后再次询问用户是否与正则表达式不匹配
import re
UserNumber = int(raw_input("Enter a 3 digit number: "))
while not(re.search("^\d{3}$", str(UserNumber))):
UserNumber = int(raw_input("that was not a 3 digit number, Enter a 3 digit number: "))
if UserNumber >= 100 and UserNumber <= 999:
print "My name is: xxxxx xxxxx"
print "My UBIT name is: xxxxxxx"
print "The number you entered was", UserNumber, "."
推荐阅读
- python - 如何正确可视化劳埃德算法
- kubernetes - Kubernetes:如何配置一组 pod 部署在同一个节点上?
- javascript - 对 JS 对象中的 CSV 数据进行排序
- python - 获取彩色像素屏幕 - linux
- python-3.x - 使用 Pandas 获得比平均值高 1% 的原始数据
- javascript - 使用 Javascript 生成分数 | 数字越小 -> 分数越高
- tensorflow - 使用 go get -d github.com/tensorflow/tensorflow/tensorflow/go 时出错
- javascript - 让带有箭头的 Bootstrap 4 在打开和关闭时旋转 90 度
- google-sheets - 将文本连同格式化说明一起粘贴到 Google 表格中
- c# - .Net 5.0 的新标准是什么类库类型?