a=input('Enter multiple numbers:')
a=list(a)
try:
if a.index('%') :
del a[a.index('%')]
elif a.index(' ') :
del a[a.index(' ')]
except :
pass
for i in range(len(a)) :
print('\u2665' * 2*int(a.pop(0)))
= It's a simple heart program I don't understand the error. The if part is executed, but the elif part is not executed and causes an error.
I wonder if the chord is weird. It works well when I hit it one by one. I have no idea. I ask for your help me.
if문 elseif
When registering a question, it is recommended to register the OS information and PYTHON version.
In addition, when presenting a source, it is necessary to specify what the source intends (purpose, etc.) so that the viewer can quickly understand it.
First of all, the reason why it doesn't work the way you want it is because you are not familiar with how to use the index method of the list.
The index returns the location in the list if the item exists, but an exception occurs if it does not exist.
try:
if a.index('%'):
del a[a.index('%')]
elif a.index(' '):
del a[a.index(' ')]
except:
pass
If you put 1 space, 2 spaces, 3 spaces, and 3 spaces in the input...
a.index('%') does not have '%', so it will be excluded.
Of course elif does not work.
If index(''), returns only the location of the first found item.
This means that there are two spaces, but only one item is deleted.
To express what the questioner is trying to do, simply delete the blank or '%'.
In [17]: args = input()
1%2 3 4
In [18]: argsList = list(args)
In [19]: argsList
Out[19]: ['1', '%', '2', ' ', '3', ' ', '4']
In [20]: list(''.join(argsList).replace('%', '').replace(' ', ''))
Out[20]: ['1', '2', '3', '4']
© 2024 OneMinuteCode. All rights reserved.