python - 如果满足 else 条件,则循环 if 语句
问题描述
所以我有一个 If-elif 语句,如果满足 else 条件,我想打印一些文本并循环。这是代码:
print("Search Options:\n1. s - Search by keyword in general\n2. u - Search for specific user data\n3. kwin - Search a keyword in a specific user\n4. allin - Search for all data by and mentioning a user")
search_mode = input("How would you like to search?: ")
if "s" in search_mode:
kwsearch = input("What Keyword do you want to use?: ")
elif "u" in search_mode:
username = input("What is the username?: ")
elif "kwin" in search_mode:
kwinuser = input("What is the username?: ")
kwinword = input("What is the keyword?: ")
elif "allin" in search_mode:
allinuser = input("What is the username?: ")
else:
print("Error. Please check spelling and capitalization")
当人们搞砸并且没有正确放置选项之一时,我想循环回到 if 语句,以便当他们输入正确的选项时,循环将结束,其余代码将继续。
我尝试了一个 for 循环并将其全部包装为一个函数,但它最终会进入打印错误消息的无限循环。有没有办法用while循环来做到这一点?我是否需要阻止它以重复它的功能?
提前致谢!
解决方案
在 Python 中,我看到的最惯用的东西是while True
:
while True:
search_mode = input("How would you like to search?: ")
if "s" in search_mode:
kwsearch = input("What Keyword do you want to use?: ")
elif "u" in search_mode:
username = input("What is the username?: ")
elif "kwin" in search_mode:
kwinuser = input("What is the username?: ")
kwinword = input("What is the keyword?: ")
elif "allin" in search_mode:
allinuser = input("What is the username?: ")
else:
print("Error. Please check spelling and capitalization")
continue
break
推荐阅读
- google-sheets - 将 IMPORTRANGE 与 FILTER 和 ISNUMBER 一起使用
- reactjs - 使用 forwardRef 中的 ref 时,ref.current 始终未定义
- git - Openshift 3.11 source-to-image (s2i) build 不使用标准 ssh 端口
- python - 如何通过舍入结果来规范化数组(python、numpy、scipy)
- rust - 如何在 WASM-Bindgen 和 Rust 中实际获取响应正文的文本
- c - 为什么 Mingw-w64 gcc 编译器会生成有关 %zd 和 %a 格式的错误警告
- css - 3 个月前的 Cucumber/Java 验证结果日期
- .net - 实体框架一对多关系错误
- vue.js - Nuxt & Vue - Element UI 在浏览器后退按钮事件上保持活动菜单项
- debian - Wireguard 安装错误:无法纠正问题,您持有损坏的软件包。但是,没有包裹