python - 我如何停止 else 循环并让它重新开始?
问题描述
这就像我第二周的代码学习,今天我发现这是一个适合初学者提出简单问题的好网站,如果我在这里做错了什么,请原谅。
无论如何,我决定在没有谷歌搜索的情况下用 python 制作我自己的计算器,这就是我所做的:
choice = input("Enter choice: '+', '-', '/', 'x': ")
while True:
if choice in ("+", "-", "/", "x"):
num1 = input("First number: ")
num2 = input("Second number: ")
if choice == "+":
print(num1, "+", num2, "=", int(num1)+int(num2))
elif choice == "-":
print(num1, "-", num2, "=", int(num1)-int(num2))
elif choice == "/":
print(num1, "/", num2, "=", int(num1)/int(num2))
elif choice == "x":
print(num1, "x", num2, "=", int(num1)*int(num2))
break
else:
print("Invalid")
当我尝试写字母而不是“+、-、/、x”时,else 语句“无效”会一直循环。我如何让它只显示一次并从头开始重新启动我的“计算器”?
解决方案
将语句choice = input("Enter choice: '+', '-', '/', 'x': ")
放入循环中,如下所示:
while True:
choice = input("Enter choice: '+', '-', '/', 'x': ")
#etc..
推荐阅读
- python - ImportError:libcudart.so.8.0:无法打开共享对象文件:没有这样的文件或目录* | 我的系统中有 cuda9.0 而不是 cuda 8
- python - 在 JS 客户端将响应转换为骆驼案例,并在服务器 fastapi 上将请求数据转换为蛇案例
- r-raster - 需要 TRUE/FALSE 的 rasterFromXYZ 缺失值
- go - 最少的重新编译
- reactjs - OrderBy 和 where 查询在 firebase 中不能同时工作
- javascript - reactjs + typescript 出现错误:类型“字符串”不可分配给类型“从不”
- python - Python - 芹菜自动更新
- python - 与超类型不兼容的签名 - 用于强制命名的抽象方法与 Liskov
- firefox - 无法使用 Firefox 在本地测试 WebAssembly 页面 - 未定义 SharedArrayBuffer
- magento2 - 每个产品仅第一次触发 addToCart 事件