【问题标题】:How do I code this python inputs conditions?我如何编码这个python输入条件?
【发布时间】:2020-06-28 08:34:31
【问题描述】:

构建一个名为“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

【问题讨论】:

  • 我投票结束这个问题,因为它不是一个问题

标签: python if-statement exception conditional-statements


【解决方案1】:

使用 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())

将接受整数和浮点数。但是会返回浮点数,正如您通过函数返回签名所看到的那样。

或者,如果您希望不断询问用户,直到他们提供正确的浮点数或整数值。

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())

【讨论】:

    【解决方案2】:

    试试下面这个:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2020-09-07
      • 2023-03-18
      • 2023-02-09
      • 1970-01-01
      相关资源
      最近更新 更多