python - while-true 循环内的输入提示
问题描述
我想创建一个提示输入的程序,并根据此输入提供量身定制的回复。
正如代码一样,它可以完美运行,只是它根本没有循环。(在 CMD 或 Powershell 中运行脚本后,它会终止并死掉。)
我希望程序在每次运行后返回输入提示。我想我需要返回函数,但我不知道给它什么样的论点。
此外, ValueError 参数有点毫无意义,那里有一个问题。
Name = input ("What is your name ? ").strip().lower()
while True:
try:
if Name in ("A"):
print("message for A")
break
else:
if Name in ("N"):
print("message for N")
break
except ValueError:
print ("Sorry, my only purpose is to talk to N and A")
else:
print("dammit")
break
解决方案
你想重复try-except
......而你想要的try
是input()
,所以你需要把所有的代码基本上都放在循环中。
并删除lower()
, 或转换为"a"
and"n"
while True:
try:
name = input ("What is your name ? ").strip()
if name.startswith("A"):
print("message for A")
break
elif name.startswith("N"):
print("message for N")
break
else:
print("Sorry, my only purpose is to talk to N and A")
except ValueError:
print ("Sorry, my only purpose is to talk to N and A")
推荐阅读
- android - 找不到任何与 com.android.support:appcompat-v7:29.+ 匹配的版本
- python - 如何在 SciKit-Learn Python 中识别 KNN 模型中每个集群内的记录?
- flutter - 如何从 aync/await 函数返回布尔值并将其传递给其他页面中的其他变量
- ruby - 最新的 gem 版本未安装
- python - 如何在 Beam 中将单例 pvalue 输出到控制台?
- windows - 普通 Powershell 提示符中的工作命令在 PSSession 中拒绝访问
- stripe-payments - 如何将优惠券添加到 Stripe 的结账处
- hibernate - 在 jhipster 生成的应用程序中对实体执行 CRUD 操作时自动生成历史表
- solr - 将静态值传递给 Solr DIH 索引中的字段
- javascript - 将音频源转换为“一次性”blob