Tôi đang cố gắng để chạy một mô-đun từ bàn điều khiển. Cấu trúc của thư mục của tôi là thế này:
Tôi đang cố gắng chạy mô-đun p_03_using_bisection_search.py
, từ problem_set_02
thư mục bằng cách sử dụng:
$ python3 p_03_using_bisection_search.py
Mã bên trong p_03_using_bisection_search.py
là:
__author__ = 'm'
from .p_02_paying_debt_off_in_a_year import compute_balance_after
def compute_bounds(balance: float,
annual_interest_rate: float) -> (float, float):
# there is code here, but I have omitted it to save space
pass
def compute_lowest_payment(balance: float,
annual_interest_rate: float) -> float:
# there is code here, but I have omitted it to save space
pass
def main():
balance = eval(input('Enter the initial balance: '))
annual_interest_rate = eval(input('Enter the annual interest rate: '))
lowest_payment = compute_lowest_payment(balance, annual_interest_rate)
print('Lowest Payment: ' + str(lowest_payment))
if __name__ == '__main__':
main()
Tôi đang nhập một hàm p_02_paying_debt_off_in_a_year.py
chứa mã:
__author__ = 'm'
def compute_balance(balance: float,
fixed_payment: float,
annual_interest_rate: float) -> float:
# this is code that has been omitted
pass
def compute_balance_after(balance: float,
fixed_payment: float,
annual_interest_rate: float,
months: int=12) -> float:
# Omitted code
pass
def compute_fixed_monthly_payment(balance: float,
annual_interest_rate: float) -> float:
# omitted code
pass
def main():
balance = eval(input('Enter the initial balance: '))
annual_interest_rate = eval(
input('Enter the annual interest rate as a decimal: '))
lowest_payment = compute_fixed_monthly_payment(balance,
annual_interest_rate)
print('Lowest Payment: ' + str(lowest_payment))
if __name__ == '__main__':
main()
Tôi nhận được lỗi sau:
ModuleNotFoundError: No module named '__main__.p_02_paying_debt_off_in_a_year'; '__main__' is not a package
Tôi không có ý tưởng làm thế nào để giải quyết vấn đề này. Tôi đã thử thêm một __init__.py
tập tin, nhưng nó vẫn không hoạt động.
eval(input(...
bit đó được đề xuất bởi 2to3. Tôi đã có nó làm điều đó với tôi ngày hôm nay. rất vui vì tôi không làm theo những gợi ý bịt mắt
eval(input...
có lẽ không phải là một ý tưởng tuyệt vời. Tôi chỉ phân tích nó thay vì mở ra cơ hội thực thi mã tùy ý.