Как мне кодировать эти python входные условия? - PullRequest
0 голосов
/ 17 марта 2020

Создайте функцию с именем «multiply», которая принимает два пользовательских «ввода» при запуске.

Как пользователь, когда я запускаю вашу функцию, меня должны попросить ввести первое значение, которое я хочу умножить, а затем второе значение.

Если какой-либо из моих входных данных не является числами (то есть: входные данные должны быть либо с плавающей точкой, либо с целыми числами), то функция должна вернуть «Ошибка: неверный аргумент!»

Иначе, функция должна возвращать произведение двух входов.

def multiply ():
     num1 = (input('Multiply '))
     num2 = (input ('by '))
if num1 == int:
    return "error: invalid error"
else:
    print ("int()")
else:
    num1 = float(input('Multiply '))
    num2 = float(input('by '))
    product = (num1*num2)
    return product

Ответы [ 2 ]

1 голос
/ 17 марта 2020

Попробуйте это ниже:

def multiply():
    num1 = (input('Multiply '))
    num2 = (input('by '))

    if not num1.isdigit() or not num2.isdigit():
        return "error: invalid error"
    else:
        num1 = float(num1)
        num2 = float(num2)
        product = (num1 * num2)
        return product
1 голос
/ 17 марта 2020

Используя Python3, вы можете сделать что-то вроде этого:

import sys

def multiply () -> float:
    num1:float = float(input('Multiply '))
    num2:float = float(input ('by '))
    if not isinstance(num1, float) and not isinstance(num2, float):
        return ValueError("error: invalid error")
    return num1 * num2


print(multiply())

Принимает как int, так и float. Но вернет float, как вы можете видеть по функциям, возвращающим подпись.

Или, если вы хотите, чтобы у пользователя постоянно спрашивали, пока он не предоставит правильные значения с плавающей запятой или целочисленные значения.

def multiply () -> float:
    num1:float
    num2:float
    err = False
    while(not err):
        err = True
        try:
            num1 = float(input('Multiply '))
            num2 = float(input ('by '))
        except ValueError:
            print("You did not input a float value... Try again")
            err = False
    return float(num1) * float(num2)

print(multiply())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...