#python #tkinter
#python #tkinter
Вопрос:
Как бы я реализовал глобальную переменную для всех переменных в get_credit_score, чтобы их можно было прочитать в advice_to_be_given .
def close_window(self):
self.master.destroy()
def get_credit_score(self):
monthlyWage = int(input("What is your monthly wage? "))
monthlySpendings = int(input("What are your monthly spendings? "))
monthlyOverdraft = int(input("What is your monthly overdraft? "))
monthlySavings = int(input("How much do you add into your savings account per month? "))
def advice_to_be_given(self):
if monthlySavings == 0:
print("You should add more into your Savings account. ")
if monthlyOverdraft == 0:
print("Maintain not having an overdraft")
if monthlySavings > monthlySpendings and overdraft > 0:
print("Spend more money on essentials, instead of putting it into your savings. Ensure that you are not spending too much on essentials, as this can increase your overdraft")
#if monthlySpending >==3 monthlySavings:
#print("You are spending too much money in a month, add some money into savings. ")
if monthlyOverdraft < 0:
print("Add 15% of your monthly savings into paying off overdraft. ")
if monthlyOverdraft > monthlySavings and monthlyOverdraft > monthlySpendings:
print("Cut down on how much money goes into savings, and ensure that your overdraft is being paid off. ")
Комментарии:
1. Я предлагаю вместо глобальных значений рассмотреть
self.monthlyWage = int(input("What is your monthly wage? "))
возможность использования / извлечения значения, какself.monthlyWage
в других ваших методах экземпляра.
Ответ №1:
def get_credit_score(self):
Global monthlyWage
monthlyWage = 2
def advice_to_be_given(self):
print(monthlyWage)
Комментарии:
1. Как это будет реализовано в моем коде? Я относительно новичок в Python.
2. Я отредактировал ответ, все, что вам нужно сделать, это написать Global перед именем переменной, чтобы сделать его глобальным. вы можете присвоить ей любое значение, которое хотите, и можете считывать его из других функций.
Ответ №2:
Вы можете просто определить их вне функции, а затем использовать ключевое слово global внутри функций, для которых вы хотите их использовать.
например:
monthlyWage = 0
monthlySpendings = 0
monthlyOverdraft = 0
monthlySavings = 0
def get_credit_score(self):
global monthlyWage
global monthlySpendings
global monthlyOverdraft
global monthlySavings
monthlyWage = int(input("What is your monthly wage? "))
monthlySpendings = int(input("What are your monthly spendings? "))
monthlyOverdraft = int(input("What is your monthly overdraft? "))
monthlySavings = int(input("How much do you add into your savings account per month? "))
Эти переменные вне функции могут использоваться любой другой функцией при ссылке с ключевым словом global
Комментарии:
1. У вас есть разногласия, чтобы мы могли обсудить это дальше? У меня возникли некоторые проблемы.
2. пожалуйста, отметьте ответ как правильный, если он помог вам решить проблему.