Specifi c Проверка на многоразовые кодовые вводы - PullRequest
0 голосов
/ 08 апреля 2020

Задание: Мое задание - создать простую программу, которая решает заданную формулу c. Есть три входа xy и n, и эти три входа должны использовать один и тот же код многократного использования

Проблема: при использовании кода многократного использования учитель хочет, чтобы я проверял одну переменную в коде, значение которой "n" должно быть больше чем 0

Код:

import math
def main():
    x = inputdata()
    y = inputdata()
    n = inputdata()
    n = validate(n)
    fact = myfactorial(n)
    A = solveA(x,n,fact)
    B = solveB(A,x,y,n)
    show(A,B)
def inputdata():
    z = int (input('Enter the Value \n Value = '))
    z = validate(z)
    return z
def solveA(x,n,fact):
    A = ((x**n) / fact)
    return A
def solveB(A,x,y,n):
    B = ((2*A*x) + math.acos((0.235*n)))/((y**3)**(1/7))
    return B
def myfactorial(n):
    fact = 1
    for i in range(1,n+1):
        fact = fact * i
    return fact
def show(A,B):
    print("The value of A {:1.4f}".format(A))
    print("The value of B {:1.4f}".format(B))
def validate(Value):
    while Value < 0:
        print("Invalid input, enter again : ")
        Value=int(input())
    return Value

x="Y"
while(x!="N"):
    main()
    x=input("Press Y to continue, N to stop : ").upper()

'ошибка': она проверяет все переменные, включая xy и n, хотя я просто хочу, чтобы она проверяла n

  Enter the Value 
 Value = -2
Invalid input, enter again : 
2
Enter the Value 
 Value = -2
Invalid input, enter again : 
2
Enter the Value 
 Value = 2
The value of A 2.0000
The value of B 6.7475
Press Y to continue, N to stop : 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...