【问题标题】:I dont get what i should in for loop (wrong numbers)我没有得到我应该在 for 循环中的内容(错误的数字)
【发布时间】:2020-03-24 15:30:43
【问题描述】:

问题是编程性质的,我似乎没有得到我想要的数字。意思是,我的程序为我打印随机数。我真的很感激一些帮助。这对我来说真的很重要:)

g = 0
pocz = 0
kon = 0

plikk = open('JV storage length.txt','r')
plik = open('JV storage.txt','r')
liniak = plikk.readlines()
linia = plik.readlines()

for g in range(0, 3):
    a = liniak[g]
    spl = a.split()

    h = spl[0]
    j = spl[1]
    kon += int(pocz) + int(h) 
    print(pocz)
    print(kon)
    pocz += int(kon) + int(j)

h 和 j 按我的意愿正确给出(下面的每一对代表循环的一个重复):

h = 2 
j = 3
h = 1 
j = 5
h = 1 
j = 3

然后我得到运行代码的结果,只有第一行是我想要的:

pocz = 0 
kon = 2
pocz = 5 
kon = 8
pocz = 18 
kon = 27

因为我的数学应该是:

pocz = 0 
kon = 2
pocz = 5 
kon = 2
pocz = 11 
kon = 12

或者我错过了什么?如果是,有人可以告诉我如何实现我想要的吗?

【问题讨论】:

  • 我完全不知道poczkon 应该是什么意思,计算的目的是什么,或者你为什么期望你这样做的结果。

标签: python algorithm loops for-loop numbers


【解决方案1】:

我猜你在这里滥用+=。可以试试吗

kon = int(pocz) + int(h) 
print(pocz)
print(kon)
pocz = int(kon) + int(j)

我得到的输出是:

0
2
5
6
11
12

所以它看起来像您预期的输出,但不完全一样。你能检查一下你的数学吗?

【讨论】:

  • 很高兴知道 :) 请您投票或接受它作为答案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-08
  • 2020-12-14
  • 2013-02-18
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多