如何在没有这么多变量的情况下计算这个数字?

时间:2014-03-01 22:49:33

标签: python

我有所有这些变量,它对我来说似乎太杂乱了。

text1 = "ABCD" + " : " + "EFGH"
text2 = str(3.06) + "% : " + "XYZ"

# The text is not actually equal to "ABCD", "EFGH", and "XYZ"

num1 = int(len(str(text1)))
num2 = int(len(str(text2)))
num3 = int(num1 - num2)
num4 = int(num3/2)
num5 = num4*" "

有什么方法可以简化这个吗?

4 个答案:

答案 0 :(得分:2)

您可以在每个变量的位置替换操作。它与数学类似:

num = " " * int((len(text1) - len(text2))/2)

注意对于变量strtext1明确强制text2不是必需的,因为它们已经是类型str。你可以通过打印来看到这一点

print(type(text1))

如果您使用的是Python 2.7,那么没有必要将该部门转换为int。但如果它是Python 3.x那么它将是不必要的。

答案 1 :(得分:2)

" " * ((len(text1) - len(text2))/2)

答案 2 :(得分:1)

您正在执行许多冗余转换(字符串到字符串和整数到整数)

text1 = "ABCD" + " : " + "EFGH"
text2 = str(3.06) + "% : " + "XYZ"

# The text is not actually equal to "ABCD", "EFGH", and "XYZ"

num1 = len(text1)
num2 = len(text2)
num3 = num1 - num2
num4 = num3/2
num5 = num4*" "

您还可以在一个

中压缩最后5个操作
num5 = " " * (( len(text1)-len(text2) ) / 2 )

答案 3 :(得分:1)

在Python 2中:" " * ((len(text1) - len(text2))/2)

在Python 3中:" " * ((len(text1) - len(text2))//2)(因为你想要整数除法)