Forum >> Principianti >> Scopa

Pagina: 1

Scusate son nuovo e sto cercando di imparare a usare python 3.6.5, sto scrivendo un programma che calcoli tutte le somme possibili in base a gli elementi in una lista, senza ripetizioni tipo (a+a), come quando si calcolano le somme delle carte per terra a scopa:
lista = [a,b,c]

somme = (a+b+c),(a+b),(a+c),(b+c)

come potrei scriverlo?

ovviamente deve poter essere applicato a qualsiasi lista


--- Ultima modifica di Jacopo2 in data 2018-06-24 15:42:40 ---

--- Ultima modifica di Jacopo2 in data 2018-06-26 11:24:17 ---
come potrei scriverlo?
Ciao caro, comincia tu e poi discutiamo su come sia meglio farlo.

Cya

Io ho inizialmente provato col calcolo fattoriale, scrivendo una lista e poi creando un ciclo con la funzione factorial:

a = 7

b = 3

c = 9

d = 5

e = 1

lista = [a, b, c, d, e]

def fattori():

n = int(len(lista))

print(n * factorial(n-1))

solo che mi sono reso conto che in questa maniera viene fatto il fattoriale del numero di elementi nella lista, temo anche che il calcolo fattoriale non sia ciò che mi serve perché non considera anche le somme (a+b) e fa delle ripetizioni(a:b;b:a)
grazie per la disponibilità







--- Ultima modifica di Jacopo2 in data 2018-07-09 12:14:14 ---

--- Ultima modifica di Jacopo2 in data 2018-07-09 12:15:37 ---
Metti a posto il tuo codice con il tasto apposito come prima cosa.
1. La somma totale non te la dico neanche perché è facile;
2. Per il resto, potresti usare lo slicing della lista, giocando con la lunghezza della lista ed il numero di elementi.
...et voilà, il gioco è fatto.

Cya

cosa è lo slicing?
è l'arte di tagliare le liste a fettine :D



qui la spiega




https://stackoverflow.com/questions/509211/understanding-pythons-slice-notation



Pagina: 1



Esegui il login per scrivere una risposta.