#python #function #multiple-choice
#python #функция #множественный выбор
Вопрос:
как вы можете судить по моему коду, я хочу создать базовый калькулятор, сначала вас спросят, что вы хотите сделать, а затем попросят 2 ввести 2 числа, которые будут обработаны кодом. У меня возникла проблема, когда код ничего не возвращает и даже не пытается использовать функции, для которых он предназначен.
##Simple Calculator program##
print("Welcome to my basic calculator program")
print("In this program you will be asked to input what function you want to do then")
print("select 2 numbers, where the program will then do the mathematic operation on those 2 numbers")
#Class containing the functions and basic caluclation
class calculator_class():
print("Please select a function by entering these :")
print("Addition")
print("Subtraction")
print("Multiplication")
print("Division")
#this is a function which asks the user to choose what operator to choose before choosing their number
def userchoice():
userchoices = str(input())
if userchoices in ["Addition","Subtraction","Multiplication","Division"]:
return(
if userchoices == "Addition":
print(addition())
elif userchoices == "Subtraction":
print(subtraction())
elif userchoices == "multiplication":
print(multiplication())
elif userchoices == "division":
print(division())
else:
print(invalid_choice())
print(userchoice())
#here the user chooses the 2 numbers
print("Please select 2 numbers to calculate")
usernumber1 = int(input("Please input your first number here : "))
usernumber2 = int(input("Please input your second number here : "))
#Functions of which contain addition, subtraction, multiplication and division
def addition():
print("A D D I T I O N")
print("Just calculating...")
print(usernumber1 usernumber2)
def subtraction():
print("S U B T R A C T I O N")
print("Just calculating...")
print(usernumber1 - usernumber2)
def multipliction():
print("M U L T I P L I C A T I O N ")
print("Just calculating...")
print(usernumber1 * usernumber2)
def division():
print("D I V I S I O N ")
print("Just calculatin...")
print(usernumber1 / usernumber2)
def invalid_choice():
print("You did not pick a valid option, please try again")
Ответ №1:
В этом коде много неправильных подходов.
- Проще ввести только один знак (например, *) вместо ввода «умножение»
- Лучше применять
.lower()
для каждого пользовательского ввода - входные данные в python всегда являются str, поэтому
str()
inuserchoices = str(input())
является избыточным int()
forinput()
может привести к ошибке (int('1.2') # error
), поэтому поместите такой код вtry/except
блок