Nota: Esto no es tanto un desafío de golf; es más que pedir sugerencias de golf.
Recientemente tuve una asignación de Python para mi clase de desarrollo web, para verificar si podíamos codificar. Como ya me siento cómodo en Python, decidí intentar jugar al golf y me preguntaba si la gente podría señalar cosas que me perdí.
Ya sé que hay espacios adicionales en algunos lugares, pero estoy más interesado en cosas conceptuales, como usar while r:
cuando r es una variable, ¡y luego esperar a que se agote!
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
Además: lo siento si esta no es una pregunta adecuada para la página de golf de código, ya que no es un desafío y la eliminará a pedido.
print
, pero solo para verificar)