【问题标题】:Increasing the value of x in a for loop在 for 循环中增加 x 的值
【发布时间】:2022-01-10 13:38:19
【问题描述】:

我正在尝试编辑 bigalgs 的值,但是当我实际打印 it 的值时,它只是吐出 bigalgs,即 0。为什么会这样?我是否以错误的方式增加了 bigalgs 的价值?我认为这是通过简单地使用 + 号......也许是 for 循环?救命!

(供参考,这里的alg表示算法


class scinoteConvert:
    def __init__(self, num):
    
        alglog = []
        alglist = []
        bigalgs = 0
        num = str(num)

        for alg in num:
            alglist.append(alg)

        for alg in alglist:
            if int(alg) < 1:
                alglog.append(True)
            else:
                alglog.append(False)
                print(bigalgs)
                bigalgs + 1

        print(alglist, alglog, bigalgs)

input = int(input('Insert num: '))

if input < 1:
    exit('Error! Cannot calculate negative values!')

scinoteConvert(input)

【问题讨论】:

  • 使用bigalgs += 1
  • 成功了!谢谢,我是编程和堆栈溢出的新手,没想到这么快就能得到答案! :D
  • 这不会是你最后一次犯这个错误 ;-)
  • 你应该给你的 ,input 变量取别的名字。实际上,您正在覆盖 input 函数。
  • 哦,谢谢你的提示!我会尽量不要再这样做了:S

标签: python for-loop integer


【解决方案1】:

你的代码是正确的,但是你应该在语法中加1

bigalgs += 1

代码将变为:

class scinoteConvert:
def __init__(self, num):

    alglog = []
    alglist = []
    bigalgs = 0
    num = str(num)

    for alg in num:
        alglist.append(alg)

    for alg in alglist:
        if int(alg) < 1:
            alglog.append(True)
        else:
            alglog.append(False)
            print(bigalgs)
            bigalgs += 1

    print(alglist, alglog, bigalgs)



input = int(input('Insert num: '))

if input < 1:
    exit('Error! Cannot calculate negative values!')

scinoteConvert(input)

【讨论】:

    【解决方案2】:

    我认为你应该写bigalgs = bigalgs + 1 而不是bigalgs + 1。 当您编写bigalgs + 1 时,您不会更改变量的值。

    【讨论】:

      【解决方案3】:

      你必须使用+= 1,所以bigalgs + = 1,所以你的解决方案是

      bigalgs =  bigalgs +=1 
      

      because +=1 is for incrementing a variable by one in a loop,所以如果对象是可变的,就就地修改它。你只写了 bigalgs + 1。

      以下是如何以正确的方式增加 bigals 值。这样当你打印 bigals 值时,你不应该吐出它的初始值 0。

      class scinoteConvert:
          def __init__(self, num):
          
              alglog = []
              alglist = []
              bigalgs = 0
              num = str(num)
      
              for alg in num:
                  alglist.append(alg)
      
              for alg in alglist:
                  if int(alg) < 1:
                      alglog.append(True)
                  else:
                      alglog.append(False)
                      print(bigalgs)
                      bigalgs =  bigalgs +=1
      
              print(alglist, alglog, bigalgs)
      
      input = int(input('Insert num: '))
      
      if input < 1:
          exit('Error! Cannot calculate negative values!')
      
      scinoteConvert(input)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-12
        • 1970-01-01
        • 2022-01-01
        • 2020-04-09
        • 1970-01-01
        • 2013-11-25
        相关资源
        最近更新 更多