0

ここで誰かがこれに似た質問をしましたが、その性質上初心者のため、すぐに反対票を投じられて閉鎖されました。だから私は自分自身と、この気の利いたプログラムの作り方を知りたい他の人のために、それは本当に悪い考えではないので、それに答えることにしました。だからここでは何も行きません!

4

2 に答える 2

1

あなたのコードが恐ろしいと言うつもりはありません。しかし、あなたはそれを単純化することができます.

ルーチン内のすべてをtry1 行で置き換えることができます。

print 'Space for about', int(totstor*1048576/25), 'standard jpg image files available'

つまり、計算結果を直接印刷できます。int()丸め、「.0」の削除などを処理し、整数 (および他のほとんどのデータ型) を文字列に変換せずに直接出力できるという事実に依存します。コンマを使用して、出力に必要な項目を連結するだけです。(目的の出力テキストに数字を入れる方法は他にもありますが、これが最も簡単です)。

于 2013-10-20T12:42:55.237 に答える
0

最初に、2 枚の写真 (JPEG 形式) を撮り (自分で開発したソフトウェアを使用:3)、ファイル サイズを取得したところ、平均して約 25kb でした。したがって、ディスク上の画像の量を取得するには、使用可能なスペースをキロバイト単位で取得し、それを 25 で割ります (または、ファイルの種類が異なる場合はより大きくなりますが、よくわかりません)。

このプログラムでは、利用可能なギガ数を入力するようにユーザーに依頼すると、プログラムはそれに 1048576 (ギガ単位のキロバイト) を掛けて値として保存し、25 を掛けます。

それで、ここに素晴らしいコードがあります(うまくいけば、コメントは何が起こっているのかをちょっと説明しています。私はこれが得意ではありません):

#Main Loop
while True:
    #Set number of Gigs
    totstor=raw_input("Enter the amount of storage on the desired disk (In gb): ")
    #Just in case you get bored
    if totstor=='quit':
        break
    try:
        #Do the math
        gigs=int(totstor)
        gigs=round(gigs)
        kilos=gigs*1048576
        kilos=kilos/25
        kilos=round(kilos)
        kilos=str(kilos)
        kilos=kilos.strip('.0')
        print 'Space for about '+kilos+' standard jpg image files available'
    #If an error occurs, let em' know
    except:
        print 'Invalid Number!'
        print '\n'
    print '\n'
#Bye
quit()

これから何か助けになった人は、フィードバックを残してください。または、私のコードが xD であることを教えてください。

于 2013-10-20T12:21:52.883 に答える