1

私は少しダウンロードフリークです。私がダウンロードするほとんどのものはギガバイト単位ですが、メガバイト単位で表示されます。

接続速度の速さに応じて、ダウンロードが完了するまでにかかる時間を検出する小さな python プログラムを作成したいと思います。

私は数学が苦手で、アルゴリズムのどこから始めればよいかわかりません。

浮動小数点数が含まれます..そして、接続速度が時々非常に不安定になる可能性があることを理解しています...しかし、それは概算になります. 私は数学が大好きですが、浮動小数点数は大きな弱点です。

次のようになります。

fileSize: raw_input("How big is the file you are downloading? ")
conSpeed: raw_input("How fast is your current connection speed? ")

## Make sure fileSize and conSpeed are floats

print("Your download will finish in "+str(ALGORITHM_VAL)+" .")

# prints no more than 4 digits, not like 1 hour 23423432423424 seconds

みんな(そして女の子)を助けてくれてありがとう、どうもありがとう!

4

2 に答える 2

0

2 つの入力が同じ測定単位を使用している場合、標準の除算演算である必要があります。

size = raw_input("File size in KB: ")
speed = raw_input("Speed in KB/sec: ")
est = float(size) / float(speed)
print "It will take %f seconds." % est

実際、マイル/時やキロバイト/秒など、単語perを見たときはいつでも、で割ったものを考えることができます: マイルを時間で割ったもの、またはキロバイトを秒で割ったもの。

ここで、ファイル サイズの入力がメガバイトなどのの測定単位であった場合は、最初にそれを一般的な測定単位に変換する必要があります。

sizeInKb = float(size) * 1024
est = float(sizeInKb) / float(speed)

最後に、以下をインポートすることにより、Python で期間を簡単に表示できますdatetime

print "Estimated Time: %s" % datetime.timedelta(seconds = est)

お役に立てれば!

于 2013-03-22T16:34:56.743 に答える
0

使用する基本的な式は次のとおりです。

計算中は、おもちゃの単位が一貫していることを確認してください。たとえば、接続速度が 1 秒あたりのメガバイト (Mbps) である場合、ファイル サイズもメガバイトである必要があります。

通常、1 Gb は 1024 Mb または 1000 Mb (概算)

他のコンバージョン率については、このチャートをご覧ください: http://www.wu.ece.ufl.edu/links/dataRate/DataMeasurementChart.html

インターネット サービス プロバイダーは通常、近似単位として 1024 ではなく 1000 を使用することに注意してください。

于 2013-03-22T16:31:14.403 に答える