Catatan: Ini bukan tantangan golf; lebih dari itu meminta saran golf.
Baru-baru ini saya memiliki tugas Python untuk kelas pengembangan web saya, untuk memeriksa apakah kami bisa membuat kode. Karena saya sudah merasa nyaman dengan Python, saya memutuskan untuk mencoba dan bermain golf, dan saya bertanya-tanya apakah orang bisa menunjukkan hal-hal yang saya lewatkan.
Saya sudah tahu bahwa ada ruang tambahan di beberapa tempat, tapi saya lebih tertarik pada hal-hal konseptual, seperti menggunakan while r:
ketika r adalah variabel, dan kemudian menunggu itu "habis"!
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
Juga: Saya minta maaf jika ini bukan pertanyaan yang sesuai untuk halaman kode golf, karena ini bukan tantangan dan akan menghapusnya berdasarkan permintaan.
print
, tetapi hanya untuk memeriksa)