Отступ в вашем примере неверен. expfun()
и __init__()
не имеют отступов. Кроме того, input()
возвращает строку , поэтому вы должны привести ее к int, чтобы сравнить ее с вашим if
import matplotlib.pyplot as plt
import numpy as np
class the_process(object):
def logfun(self):
a = 2
q = 0
x = np.linspace(-2, 4, 100)
y = np.log(a ** (np.add(x, q)))
plt.figure()
plt.plot(x, y)
plt.ylabel('$\log(x)$')
plt.grid(True)
plt.show()
def expfun(self):
a = 2
q = 0
x = np.linspace(-2, 4, 100)
y = np.add(np.power(a, x), q)
plt.figure()
plt.plot(x, y)
plt.ylabel('$\exp(x)$')
plt.grid(True)
plt.show()
def __init__(self):
self.a = int(input(
"Which function do you want to use? \n\n 1) The first one. \n\n 2) The second one. \n\n Please enter the corresponding number and hit enter >>>>> "))
if self.a == 1:
self.expfun()
elif self.a == 2:
self.logfun()
a = the_process()
Наконец, на мой взгляд, ваша проблема не должна быть структурированным как класс, так что вы могли бы рассмотреть этот вместо:
import matplotlib.pyplot as plt
import numpy as np
class TheProcess(object):
def log_fun(self):
a = 2
q = 0
x = np.linspace(-2, 4, 100)
y = np.log(a ** (np.add(x, q)))
plt.figure()
plt.plot(x, y)
plt.ylabel("$\log(x)$")
plt.grid(True)
plt.show()
def exp_fun(self):
a = 2
q = 0
x = np.linspace(-2, 4, 100)
y = np.add(np.power(a, x), q)
plt.figure()
plt.plot(x, y)
plt.ylabel("$\exp(x)$")
plt.grid(True)
plt.show()
chosen_option = int(
input(
"Which function do you want to use? \n\n 1) The first one. \n\n 2) The second one. \n\n Please enter the corresponding number and hit enter >>>>> "
)
)
my_process = TheProcess()
if chosen_option == 1:
my_process.exp_fun()
elif chosen_option == 2:
my_process.log_fun()
else:
print("Exiting...")