我如何转换5个单位数字

时间:2016-09-19 14:16:21

标签: python variables

我有5个不同的变量;

a=4
b=5
c=7
d=9
e=8

我想将它们打印为45798并将此值分配给另一个变量。我该怎么做?

6 个答案:

答案 0 :(得分:3)

value = a * 10000 + b * 1000 + c * 100 + d * 10 + e

一般方法是:

my_list = [e,d,c,b,a]
for index, element in enumerate(my_list):
    value += element * (10 ** index)

答案 1 :(得分:3)

string_number = ''.join([str(x) for x in [a,b,c,d,e]])
int_number = int(string_number)

答案 2 :(得分:2)

e + 10 * (d + 10 * (c + 10 * (b + 10 * a)))

你能看到这种模式吗?您可以为任意数量的数字创建一个循环:

digits = (a, b, c, d, e)
result = 0
for n in digits:
    result = 10 * result + n

答案 3 :(得分:2)

为什么不将它们放在容器中,比如tuple,然后使用format

>>> nums = (a,b,c,d,e)
>>>
>>> int(('{}'*len(nums)).format(*nums))
45798

答案 4 :(得分:1)

你可以这样做:

Sub MakeTiff(Input As List(Of Bitmap))
        Dim fileName As String = "random.tif"
        Using output As Tiff = Tiff.Open(fileName, "w")
            For Each item In Input
                output.SetField(TiffTag.IMAGEWIDTH, 100)
                output.SetField(TiffTag.IMAGELENGTH, 100)
                output.SetField(TiffTag.SAMPLESPERPIXEL, 1)
                output.SetField(TiffTag.BITSPERSAMPLE, 8)
                output.SetField(TiffTag.ORIENTATION, Orientation.TOPLEFT)
                output.SetField(TiffTag.ROWSPERSTRIP, 100)
                output.SetField(TiffTag.XRESOLUTION, 88.0)
                output.SetField(TiffTag.YRESOLUTION, 88.0)
                output.SetField(TiffTag.RESOLUTIONUNIT, ResUnit.INCH)
                output.SetField(TiffTag.PLANARCONFIG, PlanarConfig.CONTIG)
                output.SetField(TiffTag.PHOTOMETRIC, Photometric.MINISBLACK)
                output.SetField(TiffTag.COMPRESSION, Compression.NONE)
                output.SetField(TiffTag.FILLORDER, FillOrder.MSB2LSB)
                Dim bd = item.GetData
                Dim offset = 0
                For i = 0 To bd.Height
                    output.WriteScanline(bd.Bytes, offset, i, 0)
                    offset += bd.Stride
                Next
                output.WriteDirectory()
            Next
        End Using
        Process.Start(fileName)
    End Sub

答案 5 :(得分:0)

任意数量的输入是*args的完美示例。

def create_num(*args):
    return int(''.join(str(x) for x in args))

print(create_num(4, 5, 7, 9, 8))  # prints -> 45798

create_num函数可以使用任意数量的值运行。