【问题标题】:why doesn't += work in a while true loop python?为什么 += 在 while 真正的循环 python 中不起作用?
【发布时间】:2022-01-24 13:33:21
【问题描述】:

代码不起作用,我不明白 += 有什么问题

taken = 1
first = int(input("   "))
while taken <= 6:
        print(1)
        print(taken+=1)

语法错误刚刚弹出,+ 突出显示为红色, 我试过寻找,但我发现唯一的问题是它在哪里不起作用,因为人们放在他们之前的东西之前是 += on。

【问题讨论】:

  • 所有语言都有一组有限的有效语法,而这在 python 中没有被定义为有效。没有进一步的解释。
  • @Empty Head 为什么所有答案都默认打印1?程序可以自己做。

标签: python python-3.x


【解决方案1】:

这是因为variable += valvariable = variable + val
由于这是一个赋值表达式,并且不返回任何内容,因此这被认为是语法错误。

注意 1:这与 while 循环无关,普遍不被接受

注意 2:Python 目前不支持 ++ / -- 运算符

所以,改为这样做:

taken = 1
first = int(input("   "))
while taken <= 6:
        taken+=1
        print(f"1\n{taken}")

【讨论】:

  • 为什么所有答案都默认打印1?程序可以自己做。
  • 因为提问者在他的代码中已经写了这个,所以他想这样做可能是有原因的,因此,w.o.改变这一点,我只是专注于他提出的实际问题。
【解决方案2】:

你根本做不到。 你可以这样做:

taken = 1
first = int(input("   "))
while taken <= 6:
        print(1)
        taken += 1
        print(taken)

【讨论】:

    【解决方案3】:

    你为什么无缘无故地使用first来获取输入?

    taken = 1.0
    #first = int(input("   "))
    while taken <= 6:
        print(taken)
        taken += 1.0
    

    输出:

    【讨论】:

      【解决方案4】:

      尝试在上面的行中写上taken += 1,然后打印出来。

      taken = 1
      first = int(input("   "))
      while taken <= 6:
              print(1)
              taken += 1
              print(taken)
      

      【讨论】:

        猜你喜欢
        • 2022-12-12
        • 2020-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-11
        • 1970-01-01
        • 1970-01-01
        • 2022-01-03
        相关资源
        最近更新 更多