if语句+基础函数制作基础功能的计算器详解及错误示范

本文介绍了如何在Python中定义和实现加减乘除四种基本数学运算的函数,并通过用户界面接收用户输入,使用if-elif-else结构执行相应运算,同时包含了错误处理和数据类型转换的示例。
摘要由CSDN通过智能技术生成

 

1. **函数定义**:

   代码定义了四个函数 `add`, `subtract`, `multiply`, 和 `divide`,分别用于执行加法、减法、乘法和除法运算。

   - `add(x, y)`: 返回两个参数 `x` 和 `y` 的和。

   - `subtract(x, y)`: 返回两个参数 `x` 和 `y` 的差。

   - `multiply(x, y)`: 返回两个参数 `x` 和 `y` 的乘积。

   - `divide(x, y)`: 返回两个参数 `x` 和 `y` 的商。这里没有处理除以零的情况。

2. **用户界面**:

   代码打印出操作菜单,让用户选择要进行的运算类型(加法、减法、乘法、除法)。

3. **用户输入**:

   代码使用 `input()` 函数获取用户的输入,要求用户输入选择的运算类型(1-加法,2-减法,3-乘法,4-除法)和两个数字(`num1` 和 `num2`)。

4. **运算执行**:

   代码使用 `if-elif-else` 结构来判断用户选择的运算类型,并执行相应的函数。然后,代码将结果显示给用户。

5. **错误处理**:

   如果用户没有输入有效的运算类型(即不是 1、2、3 或 4),代码将打印出“非法输入”并结束。

 

def add(x, y):

    return x + y

 

def subtract(x, y):

    return x - y

 

def multiply(x, y):

    return x * y

 

def divide(x, y):

    return x / y

 

print("请选择操作:")

print("1.加法")

print("2.减法")

print("3.乘法")

print("4.除法")

 

choice = input("输入你的选择(1/2/3/4): ")

 

num1 = float(input("输入第一个数字: "))

num2 = float(input("输入第二个数字: "))

 

if choice == '1':

    print(num1, "+", num2, "=", add(num1, num2))

elif choice == '2':

    print(num1, "-", num2, "=", subtract(num1, num2))

elif choice == '3':

    print(num1, "*", num2, "=", multiply(num1, num2))

elif choice == '4':

    print(num1, "/", num2, "=", divide(num1, num2))

else:

    print("非法输入")

 

下面是我自己写的错误代码,我当时认为if,elif等语句后应该能直接调用函数。

def add(x, y):

    return x + y

 

def subtract(x, y):

    return x - y

 

def multiply(x, y):

    return x * y

 

def divide(x, y):

    return x / y

 

print("请选择操作:")

print("1.加法")

print("2.减法")

print("3.乘法")

print("4.除法")

 

choice = input("输入你的选择(1/2/3/4): ")

 

num1 = float(input("输入第一个数字: "))

num2 = float(input("输入第二个数字: "))

 

if choice == '1':

     print(add(num1, num2))

elif choice == '2':

    print( subtract(num1, num2))

elif choice == '3':

    print( multiply(num1, num2))

elif choice == '4':

    print( divide(num1, num2))

else:

    print("非法输入")

以下是网上找的错误分析

1.减法、乘法和除法的函数调用后面没有打印等号和结果。

2.当你使用input函数时,输入的数字不会自动转换为浮点数。你需要使用float()函数来转换输入的字符串为浮点数。

3.没有检查用户输入的选择是否是合法的数字(1-4)。如果用户输入了其他数字,程序将会执行else语句,但这时choice变量可能包含一个非数字的字符串,这会导致add, subtract, multiply, divide函数调用失败,因为这些函数期望的是数字参数。

 

 

 

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值