Question

Quand je lance ce qui suit:

growthRates = [3, 4, 5, 0, 3]
for each in growthRates:
    print each
    assert growthRates >= 0, 'Growth Rate is not between 0 and 100'
    assert growthRates <= 100, 'Growth Rate is not between 0 and 100'

J'obtenir:

3
Traceback (most recent call last):
  File "ps4.py", line 132, in <module>
    testNestEggVariable()
  File "ps4.py", line 126, in testNestEggVariable
    savingsRecord = nestEggVariable(salary, save, growthRates)
  File "ps4.py", line 106, in nestEggVariable
    assert growthRates <= 100, 'Growth Rate is not between 0 and 100'
AssertionError: Growth Rate is not between 0 and 100

Pourquoi est-ce?

Était-ce utile?

La solution

Do:

assert each >= 0, 'Growth Rate is not between 0 and 100'

pas:

assert growthRates >= 0, 'Growth Rate is not between 0 and 100'

Autres conseils

assert 0 <= each <= 100, 'Growth Rate %i is not between 0 and 100.' % each

Votre affirme ne manque pas bien sûr, mais maintenant les growthRates> 100 car growthRates est la liste et 0 est entier et « liste »> « entier ».

assert (each >= 0) pas assert (growthRates >= 0): -)

Vous pouvez également utiliser:

growthRates = [0, 10, 100, -1]
assert all(0<=each<=100 for each in growthRates), 'growthRate is not between 0 and 100'

Traceback (most recent call last):
File "any.py", line 2, in <module>
assert all([0<=each<=100 for each in growthRates]), 'growthRate is not between 0 and 100'
AssertionError: growthRate is not between 0 and 100

test pour chaque lieu de la liste growthRates.

Vous pouvez également utiliser:

growthRates = [3, 4, 5, 0, 3]
testRange = range(0,100)
for each in growthRates:
    print each
    assert each in testRange, 'Growth Rate is not between 0 and 100'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top