简体   繁体   English

为什么这个 python3 计算器中没有定义选项?

[英]Why is option not defined in this python3 calculator?

I have been learning python3 for around two hours and I decided to create a little program that adds, divides or multiplies numbers.我已经学习了 python3 大约两个小时,我决定创建一个小程序来加、除或乘数字。 For some reason, the option is supposedly 'not defined' in this program when the user clearly inputs something for it.出于某种原因,当用户清楚地为其输入内容时,该选项在该程序中被认为是“未定义”。

https://pastebin.com/VBB2arkr https://pastebin.com/VBB2arkr

def ask_numbers():
    num1 = input("Please enter a number:  ")
    num2 = input("Please enter another number:  ")

def add_div_mul():
    option = input("Would you like to divide, multiply or add your numbers?")

def multiply_nums(num1, num2):
    numsmultiplied = float(num1) * float(num2)
    print(numsmultiplied)

def add_nums(num1, num2):
    numsadded = float(num1) + float(num2)
    print(numsadded)

def divide_nums(num1, num2):
    numsdivided = float(num1) / float(num2)
    print(numsdivided)

ask_numbers()
add_div_mul()
if option == "multiply": multiply_nums()
if option == "add": add_nums()
if option == "divide": divide_nums()

You need to return and pass the variables您需要返回并传递变量

def ask_numbers():
    num1 = input("Please enter a number:  ")
    num2 = input("Please enter another number:  ")
    return num1, num2

def add_div_mul():
    return input("Would you like to divide, multiply or add your numbers?")

def multiply_nums(num1, num2):
    numsmultiplied = float(num1) * float(num2)
    print(numsmultiplied)

def add_nums(num1, num2):
    numsadded = float(num1) + float(num2)
    print(numsadded)

def divide_nums(num1, num2):
    numsdivided = float(num1) / float(num2)
    print(numsdivided)

num1, num2 = ask_numbers()
option = add_div_mul()
if option == "multiply": multiply_nums(num1, num2)
if option == "add": add_nums(num1, num2)
if option == "divide": divide_nums(num1, num2)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM