注:これはゴルフの課題ではありません。それはゴルフの提案を求めるよりもです。
最近、コーディングできるかどうかを確認するために、Web開発クラスにPythonを割り当てました。私はすでにPythonに慣れているので、それを試してみることにしました。そして、私が逃したことを人々が指摘できるかどうか疑問に思いました。
一部の場所に余分なスペースがあることはすでに知っていますがwhile r:
、rが変数である場合に使用し、それが「実行」されるのを待つなど、概念的なものに興味があります。
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
また、これは問題ではなく、要求に応じて削除するため、コードゴルフページに適した質問ではない場合は、申し訳ありません。
もうゴルフしようとしたの?
—
feersum 2015
このコードには、多くの単純なゴルフの改善が残っています。ゴルフのヒントを確認し、他のPythonゴルフを見て、自分でコードを短くするためにさらに多くのことをした方がよいと思います。そして、あなたが得たものを投稿すれば、人々はより洞察に富んだアドバイスを与えることができます。
—
xnor 2015
print
いますが、チェックするだけです)