-1
votes

Comment inverser la liste sans fonction intégrée

J'ai ce problème pour les devoirs et je l'ai presque obtenu mais pas tout à fait. Je dois développer un code qui prend une liste et un numéro sous forme de paramètres. La fonction renvoie une copie de la liste avec le premier nombre d'éléments inversés. Je ne peux pas utiliser de fonctions intégrées, de trancher ou d'inverser, je ne peux utiliser qu'Annel. () Et gamme (). J'apprécierais vraiment que quelqu'un aidait à résoudre mon code actuel et peut-être expliquer comment vous l'avez réparé? Merci !!! xxx

l'exemple donné: xxx

donc mon code est donc tout simplement tout simplement renverse la liste (c'est difficile à expliquer), Il doit inverser avec le passage du «nombre». Espérons que cela a du sens!


3 commentaires

Je peux voir un supprimer_value là-là, mais pas un inverse


On dirait que vous voulez que nous écrivions du code pour vous. Bien que de nombreux utilisateurs soient disposés à produire du code pour un codeur en détresse, ils ne vous aident généralement que lorsque l'affiche a déjà essayé de résoudre le problème seul. Un bon moyen de démontrer cet effort est d'inclure le code que vous avez écrit jusqu'à présent, de l'exemple d'entrée (s'il y en a une), la sortie attendue et la sortie que vous obtenez réellement (sortie de la console, traçabilité, etc.). Plus vous fournissez de détail, plus vous recevez de réponses. Vérifiez le faq et Comment demander < / a>.


Essayez d'avoir deux boucles dans la fonction inverse: une pour inverser ce que vous devez inverser, et un pour copier le reste. Ou faire une nouvelle fonction qui inverse la pièce dont il a besoin, avec le code que vous avez partagé, et une autre partie qui copie les éléments sur, sans inversion - qui est une fourchette au lieu de


4 Réponses :


0
votes

Vous pouvez utiliser cette minuscule boucle: xxx

sortie: xxx


3 commentaires

Merci, cependant, je ne peux pas utiliser de trancher, (oublié de le mettre dans la description)


C'est l'une de mes questions de résolution de problèmes pour la semaine.


Cela a fonctionné parfaitement merci de votre aide!



1
votes

Le problème ici est que vous ne prenez pas compte du numéro à décaler. Dans votre exemple, vous recevez deux variables, la liste et le numéro à changer (est-ce la position ou le numéro réel que vous recherchez? - En supposant que votre code ne prend que la liste.

def remove_value(my_list, pos_to_reverse):
    res = []

    for i in range(pos_to_reverse-1, -1):
        res.append(my_list[i])

    for i in range(pos_to_reverse, length(my_list)-1):
        res.append(my_list[i])

    return res


0 commentaires

0
votes

Vous veniez de vous rapprocher! Je pense que la fonction ci-dessous fait ce que vous voulez.

def reverse(numList,number):
    # Make an empty list
    reversedlist=[]

    for i in range(number):
    # i goes from 0 to number-1
        reversedlist.append(numList[number-i-1])
        # build a reversed list by adding each element
        # of numList going in reverse order.

    for i in range(number):
    # i goes from 0 to number-1
        numList[i]=reversedlist[i]
        # change the first 'number' elements of the
        # original list with the reversed list.

    return numList

numList = [1, 2, 3, 4, 5, 6, 7]
number = 4

print(reverse(numList,number))
# prints: [4, 3, 2, 1, 5, 6, 7]


0 commentaires

0
votes

Vous pouvez probablement faire comme ça. xxx


0 commentaires