Reputation: 9
I wrote this code and its giving me a list as output without brackets
example 4,3,2,1
, where I wanted to return [4,3,2,1]
.
Please let me know where my small mistake is.
def inverse(mdg):
i = 0
Sr = ''
while i < len(mdg):
Sr =Sr + mdg[-(i+1)]
i = i+1
return Sr
ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
l1 = list(ch.split(','))
print((",".join(inverse(l1))))
Upvotes: 1
Views: 146
Reputation: 8335
First of all you are returning a string not a list
If that's what you want the just add [
to beginning and ]
to the end of the string like this
Modification:
def inverse(mdg):
i = 0
Sr = ''
while i < len(mdg):
Sr =Sr + mdg[-(i+1)]
i = i+1
return Sr
ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
l1 = list(ch.split(','))
print("["+",".join(inverse(l1))+"]")
Try adding to list
instead of string
to return a list
Code:
def inverse(mdg):
i = 0
Sr = [] # Create list
while i < len(mdg):
Sr += mdg[-(i+1)] # Add to list
i = i+1
return Sr # Return list
ch = input('Veuillez entrer une liste des valeurs separees par virgules: ')
l1 = ch.split(',')
print(inverse(l1))
Output:
Veuillez entrer une liste des valeurs separees par virgules: 1,2,3,4
['4', '3', '2', '1']
There is no need to create a function to reverse a list it can be done as simple as this
Code2:
ch = input('Veuillez entrer une liste des valeurs separees par virgules: ')
l1 = ch.split(',')
print(l1[::-1]) # Reverses the list
The output is a list of string if you want a list of numbers
use this snippet before printing
snippet:
print (map(int,listofstrings)) # Prints list of numbers
Upvotes: 2
Reputation: 895
The question is about return string like '[4,3,2,1]', not list. Also it need to remove " of elements.
Code
def inverse(mdg):
"""This function reversed string without quotemark of reversed list of splitted input by ','
"""
return ",".join(reversed(mdg.split(','))).join(["[", "]"])
Sample
>>> ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
Veuillez entrer une liste des valeurs separees par virgules: 1,2,3,4
>>> inverse(ch)
'[4,3,2,1]'
>>> print(inverse(ch))
[4,3,2,1]
Or just add '.join(["[", "]"])
def inverse(mdg):
i = 0
Sr = ''
while i < len(mdg):
Sr =Sr + mdg[-(i+1)]
i = i+1
return Sr
ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
l1 = list(ch.split(','))
print((",".join(inverse(l1)).join(['[',']'])))
Upvotes: 1