Nota: questa non è una vera sfida al golf; è più che altro chiedere suggerimenti per il golf.
Recentemente ho avuto un incarico Python per la mia classe di sviluppo web, al fine di verificare se potessimo programmare. Dato che mi sento già a mio agio in Python, ho deciso di provare a giocare a golf e mi chiedevo se le persone potessero segnalare cose che mi mancavano.
So già che ci sono spazi extra in alcuni punti, ma sono più interessato alle cose concettuali, come usare while r:
quando r è una variabile, e quindi aspettare che si esaurisca!
import random
from collections import Counter
s=l=''
c=['yellow','blue','white','green','Black', 'purple', 'silver', 'cyan', 'magenta', 'red']
n=[10,15,1,10,6,15,10,25,1,12,5,10,4,6,5,12,0,10,1,1]
o=i=0
for y in c:l+=y[0]*(random.randint(n[o],n[o+1]));o+=2
l=list(l)
print("Welcome to the CIMS Gumball Machine Simulator\nYou are starting with the following gumballs:")
for b in c:print(str(l.count(b[0])) + " "+b);random.shuffle(l)
print("Here are your random purchases:")
while 'r' in l:
random.shuffle(l); r=l.pop(); s+=r
for j in c:
if j[0] == r:print(j.capitalize())
print("You purchased %i gumballs, for a total of $%.2f \nMost common gumball(s):" % (len(s),len(s)*25/100))
a=Counter(s).most_common()
m=[x[1] for x in a]
while m[0] == m[i]:
for j in c:
if j[0] == a[i][0]:print(j.capitalize(), end=" ")
if(i<(len(m)-1)):i+=1
else:break
Inoltre: mi dispiace se questa non è una domanda appropriata per la pagina del codice golf, poiché non è una sfida e la rimuoverà su richiesta.
print
, ma solo per controllare)