尝试将先前的答案作为x值插入

时间:2018-03-01 05:06:41

标签: python

def Use_Last_Answer():
    choose_opt = input('''Do you want to use the previous answer?  (Y/N)''' )
    if choose_opt.upper() == 'Y': #Function for ANS
        x = ANS
        find_fractions_2
    elif choose_opt.upper() == 'N':
        find_fractions()
    else:
        Use_Last_Answer()

def find_fractions(): 
    x = 0 # makes x reset but not necessary
    x = Fraction(input('''Enter (1st) fraction:'''))
    find_fractions_2()

def find_fractions_2():
    operation = input('''
What do you want to do?
Add         (1) (e.g) 1/5 + 1/10 = 3/10
Enter Function number:''')
    if(operation != '1'):
        print("You must enter a valid operation")
    else:
        y = Fraction(input('''Enter (2nd) fraction:'''))
        if operation == '1':
            print('''Adding Fractions...''')
            print('{} + {} = '.format(x, y)) 
            ANS = print(x + y)
    Use_Last_Answer()
find_fractions()

(这不是整个代码,只是减少到适合)。

我正在尝试制作一个ANS函数,通常可以在计算器上使用ANS = (x+y)< - 来自上一个等式并进行def来查看ANS是否能够变为x变量。我将def find_functions()分成两部分以绕过x = Fraction(input('''Enter (1st) fraction:'''))并转到哪个操作(例如)添加,减去等等。使前一个答案成为新的等式x变量。

但它不起作用,当我将def find_fractions()分成两部分并开始一个新的等式时,x变量不会传递到第二部分而x + y不会计算。我上高中,这是我第五周的计算机科学,所以我不会太懂行话。

1 个答案:

答案 0 :(得分:0)

一般来说,如果你想保留一些东西并在以后使用它,那么你将需要一个“全局”变量。这些将在您的脚本开始时进行,任何功能都可以使用它或更改它。

def write_to_csv(file_name, header, numpy_data):
    with open(file_name, "w", newline='') as csv_file:
        writer = csv.writer(csv_file, delimiter=',')
        header = [header]
        for line in header:
            writer.UnicodeWriter(line)

        for line in numpy_data:
            if line is None:
                writer.UnicodeWriter(line)
            else:
                writer.UnicodeWriter(line)

另外..

ans = 0

def this_changes_ans():
    ans += 0.75

def use_previous():
    If input == "Y":
        ans = ans
    else:
        ans = 0

只是......没有