Hinweis: Dies ist weniger eine Golfherausforderung. Es ist eher so, nach Golfvorschlägen zu fragen.
Kürzlich hatte ich eine Python-Aufgabe für meine Webentwicklungsklasse, um zu überprüfen, ob wir codieren können. Da ich mich in Python bereits wohl fühle, habe ich mich entschlossen, Golf zu spielen, und ich habe mich gefragt, ob die Leute auf Dinge hinweisen können, die ich verpasst habe.
Ich weiß bereits, dass es an einigen Stellen zusätzliche Leerzeichen gibt, aber ich interessiere mich mehr für konzeptionelle Dinge, wie die Verwendung, while r:
wenn r eine Variable ist, und das Warten darauf, dass sie "ausgeht"!
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
Außerdem: Es tut mir leid, wenn dies keine angemessene Frage für die Code-Golfseite ist, da dies keine Herausforderung darstellt und auf Anfrage entfernt wird.
print
, aber nur um zu überprüfen)