我有所有这些变量,它对我来说似乎太杂乱了。
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*" "
有什么方法可以简化这个吗?
答案 0 :(得分:2)
您可以在每个变量的位置替换操作。它与数学类似:
num = " " * int((len(text1) - len(text2))/2)
注意对于变量str
和text1
明确强制,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)
(因为你想要整数除法)