python 中异常的意外执行

2024-01-17

我是 python 新手,我想出了这个问题。我为计算器编写了一个简单的程序。在add函数中,我使用了try- except。当遇到这一行时(如果decide=='no'或decide=='n':),它会显示打印行“return(”You has exited“)”,但它也会抛出异常。我不明白为什么。

import sys

def menu():

    print "calculator using functions"
    print "Choose your option:"
    print " "
    print "1) Addition"
    print "2) Subtraction"
    print "3) Multiplication"
    print "4) Division"
    print "5) Quit calculator.py"
    print " "
    return input ("Choose your option: ")


def add(a,b):
    try:
        print a, "+", b, "=", a + b
        print " Do you want to continue: "
        decide=raw_input("yes or no: ")
        if decide== 'no' or decide== 'n':
            return(" You have exited ")
            sys.exit(0)
        elif decide=='yes' or decide== 'y':
            menu()
        untrusted.execute()

    except:
        print "wrong choice!!!"
        e = sys.exc_info()[0]
        print "Error: %s" % e
        sys.exit(0) 

这对我有用......我想return(" You have exited ")这里有问题而不是sys.exit(0) try return 0我不知道为什么这是一个问题,但它有效。我尝试了是和否条件。

import sys



def menu():

print "calculator using functions"
print "Choose your option:"
print " "
print "1) Addition"
print "2) Subtraction"
print "3) Multiplication"
print "4) Division"
print "5) Quit calculator.py"
print " "
return input ("Choose your option: ")


def add(a,b):
try:
    print a, "+", b, "=", a + b
    print " Do you want to continue: "
    decide=raw_input("yes or no: ")
    if decide== 'no' or decide== 'n':
        return "n"
        #sys.exit(0)
    elif decide=='yes' or decide== 'y':
        return "y"
    untrusted.execute()

except:
    print "wrong choice!!!"
    e = sys.exc_info()[0]
    print "Error: %s" % e
    sys.exit(0)

while(True):
selected_option=menu()
if(selected_option == 1):
    print "Enter first number:"
    no1 = raw_input()
    print "Enter second number:"
    no2 = raw_input()
    option=add(no1,no2)
    if(option == 'y'):
        print "yes selected"
        continue
    if(option=='n'):
        print "no selected"
        sys.exit(0)

输出: 你想继续吗:

是或否:重新

错误的选择!!!

Error: <type 'exceptions.NameError'>


你想继续吗:

是或否: y

是,已选择

使用函数的计算器

选择您的选项:

1)加法 2)减法 3)乘法 4)分部 5)退出calculator.py

选择您的选项:


你想继续吗:

是或否:n

没有选择

root@yogesh-系统模型:~#

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 中异常的意外执行 的相关文章

  • 为什么python+sqlite3特别慢?

    我尝试使用 Python 2 7 4 sqlite3 和 Firefox SQLite Manager 0 8 0 处理对同一数据库的相同请求 在小型数据库 8000 条记录 上 Python 和 Firefox 都运行得很快并且给出了相同
  • PowerShell Get-ChildItem 如何捕获异常

    我目前正在编写一个可视化错误 GUI 它可以在处理时捕获任何异常 并向用户提供 易于理解 的错误消息 但似乎我在使用时无法捕获任何异常Get ChildItemcmdlet 我是否必须使用与 try catch 不同的方法 这是 Power
  • 将查询参数添加到 URL

    我正在尝试自动从网站下载数据 我需要将动态参数传递到每天更改的站点 html 的结构是表格而不是表单 如何传递参数并从 url 获取结果 这是我尝试过的 它需要在 python 2 7 中 import urllib url https d
  • Python Flask应用程序无法被网络中的远程计算机访问

    我在本地主机上的 python 上运行了一个简单的 Flask Web 应用程序 Web 应用程序在 127 0 0 1 8000 上运行 但我无法使用 myHostComputerIPaddress 8000 从网络中的远程计算机访问它
  • 使用 pyttsx 包时没有名为 Win32com.client 的模块错误

    今天上网冲浪的时候Quora 我碰到answers https www quora com What amazing things can Python do关于 python 可以做的令人惊奇的事情 我尝试使用pyttsx 文本到语音转换
  • Docker 从密码数据库获取用户名时出错

    我有一个 python 脚本 我想将其容器化 测试远程 py import os import pwd try userid pwd getpwuid os stat st uid pw name except KeyError err r
  • Python 柯里化任意数量的变量

    我正在尝试使用柯里化在 Python 中进行简单的函数添加 我找到了这个咖喱装饰器here https gist github com JulienPalard 021f1c7332507d6a494b def curry func def
  • 如何在 pygame 中水平翻转图像?

    这是在 pygame 如何翻转图像 假设一个图像 猪向右看 时向左看 我按向左箭头键 然后保持这样 即使我不按任何键或者按向上和向下箭头键 那么 当我按向右箭头键时 如何再次将其切换回向右看 并使其保持这种状态 即使我不按任何键或按向上和向
  • JSLint 抱怨我的 try/catch

    javascript 运行时JSLint http jslint com 对我大喊大叫 我不知道为什么 jslint browser true devel true evil true undef true nomen true eqeqe
  • Python argparse:需要两个并存的位置参数

    使用 argparse 如何指定我希望两个位置参数一起出现或根本不出现 IE 我希望我的使用字符串看起来像 Usage FooBar py h FOO BAR 正如 hpaulj 所建议的 这是您可以使用的解决方案 In 1 import
  • rpy2 在从 R 到 Python 的数据帧中处理 NA/缺失值时出现问题

    我在使用rpy2包进行转换时遇到问题dataframe将 R 中的内容保存到 Python 中 import os os environ R HOME Library Frameworks R framework Resources imp
  • 何时选择受控异常和非受控异常

    在Java 或任何其他具有检查异常的语言 中 当创建自己的异常类时 如何决定它是否应该检查或不检查 我的直觉是 如果调用者能够以某种有效的方式恢复 则需要检查异常 而对于不可恢复的情况 则需要检查异常 但我对其他人的想法感兴趣 只要您了解何
  • BeautifulSoup4:选择属性不等于x的元素

    我想做这样的事情 soup find all td attrs class foo 我想找到所有不具有 foo 类的 td 显然上面的方法不起作用 那怎么办呢 BeautifulSoup确实使 汤 变得美丽且易于使用 You 可以传递一个函
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • Android:将声音保存为铃声/SQLiteConstraintException

    我正在尝试使用 Android 将声音保存为铃声this http www stealthcopter com blog 2010 01 android saving a sound file to sd from resource and
  • 如何从嵌套的 try-catch 块内重新抛出先前的异常? (C#)

    我有尝试类型转换的代码 如果失败 我想尝试其他方法 如果也失败 则重新抛出第一次转换尝试的原始异常 问题是我知道重新抛出的唯一方法是 throw 坐在 catch 块的末端 当我只想从另一个 catch 块中重新抛出时会发生什么 try v
  • 如何将 self 传递给装饰器?

    我该如何通过self key下面进入装饰器 class CacheMix object def init self args kwargs super CacheMix self init args kwargs key func Cons
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • 如何在 robobrowser-python 中发出 POST 请求

    http robobrowser readthedocs org en latest api html http robobrowser readthedocs org en latest api html 我正在尝试使用 APIbrows
  • Python 通过从现有 csv 文件中过滤选定的行来写入新的 csv 文件

    只是一个问题 我试图将 csv 文件中的选定行写入新的 csv 文件 但出现错误 我试图读取的 test csv 文件是这样的 两列 2013 9 1 2013 10 2 2013 11 3 2013 12 4 2014 1 5 2014

随机推荐