Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
迭代计数器Python3x_Python_Python 3.x_Loops_Counter_Calculator - Fatal编程技术网

迭代计数器Python3x

迭代计数器Python3x,python,python-3.x,loops,counter,calculator,Python,Python 3.x,Loops,Counter,Calculator,因此,我用Python构建了一个简单的计算器,用户输入两个数字和一个运算符,然后给出答案。他们还可以选择再次运行计算器。我想对答案进行编号,使每个答案都显示“答案1等于x”,“答案2等于x”,等等,这取决于计算器运行的次数。每次我试图设置计数器的格式来计算迭代次数时,它都不起作用,只能一遍又一遍地将它们标记为“答案1”。任何帮助都将不胜感激。我对Python非常陌生 answer = "y" while ((answer == "Y") or (answer == "y") or (answe

因此,我用Python构建了一个简单的计算器,用户输入两个数字和一个运算符,然后给出答案。他们还可以选择再次运行计算器。我想对答案进行编号,使每个答案都显示“答案1等于x”,“答案2等于x”,等等,这取决于计算器运行的次数。每次我试图设置计数器的格式来计算迭代次数时,它都不起作用,只能一遍又一遍地将它们标记为“答案1”。任何帮助都将不胜感激。我对Python非常陌生

answer = "y"

while ((answer == "Y") or (answer == "y") or (answer == "Yes") or (answer == "yes")):
    numones = input ("Give me a number: ")
    numtwos = input ("Give me another number: ")

    numone = float(numones)
    numtwo = float(numtwos)

    operation = input ("Give me an operation (+,-,*,/): ")

    counter = 0
    for y in answer:
        counter += 1

    if (operation == "+"):
        calc = numone + numtwo
        print ("Answer " + str(counter) + " is " + str(calc))
    elif (operation == "-"):
        calc = numone - numtwo
        print ("Answer " + str(counter) + " is " + str(calc))
    elif (operation == "*"):
        calc = numone * numtwo
        print ("Answer " + str(counter) + " is " + str(calc))
    elif (operation == "/"):
        calc = numone / numtwo
        if (numtwo != 0):
            print ("Answer " + str(counter) + " is " + str(calc))
        else:
            print ("You can't divide by zero.")
    else:    
        print ("Operator not recognized.")

    answer = input ("Do you want to keep going? ")
    if ((answer == "Y") or (answer == "y") or (answer == "Yes") or (answer == "yes")):
        print ()
    else:
        print ("Goodbye.")
        break

删除
while
循环中的
计数器=0
。并将此声明移动到
while
循环上方

另外,行:

for y in answer:
    counter += 1

你真的很困惑,而且肯定是错的,因为如果你的答案是“是”,你会得到+3的增长。只需增加(
counter+=1
counter
,无需任何
for
-循环。

,因为在
中不断分配
counter=0
,而在
循环中。只需注意-您可以使用
在['y','y','yes','yes中回答]
而不是将
答案
与每个可能的值进行比较。