这里有人问了一个与此类似的问题,但由于其性质的新颖性,它很快就被否决并关闭了。所以我决定自己来回答这个问题,对于其他想知道如何制作这个漂亮程序的人来说,这并不是一个坏主意。所以这里什么都没有!
问问题
92 次
2 回答
1
我不会告诉你你的代码太可怕了。但是你可以简化它。
例程中的所有try
内容都可以用一行替换:
print 'Space for about', int(totstor*1048576/25), 'standard jpg image files available'
换句话说,您可以直接打印计算结果。让我们int()
处理四舍五入,摆脱“.0”等,并依赖于您可以直接打印整数(和大多数其他数据类型)而不将它们转换为字符串的事实。您只需使用逗号将输出中所需的项目链接在一起。(还有其他方法可以将数字输入所需的输出文本,但这是最简单的)。
于 2013-10-20T12:42:55.237 回答
0
首先,我拍了几张照片(JPEG 格式)(使用我自己开发的软件:3)并获得了它们的文件大小,它们的平均大小约为 25kb。因此,要获取磁盘上的图片数量,您需要以千字节为单位的可用空间,然后将其除以 25(或者对于不同的文件类型更大,不确定)。
对于该程序,我要求用户输入可用的演出数量,然后程序将其乘以 1048576(演出中的 Kbs)并将其存储为一个值,然后将其乘以 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 回答