0

这里有人问了一个与此类似的问题,但由于其性质的新颖性,它很快就被否决并关闭了。所以我决定自己来回答这个问题,对于其他想知道如何制作这个漂亮程序的人来说,这并不是一个坏主意。所以这里什么都没有!

4

2 回答 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 回答