python 笔记 继续进行输出练习,并进行格式化定义打印 ——12.23
习题7:更多打印
目的:巩固之前所学
ex7.py
# -*- coding: utf-8-*-
print "Mary had a little lamb."
print "Its fleece was white as %s." %'snow'
print "And everywhere that Mary went."
print "."* 10 # what'd that do? I think it's print *10
end1 ="C"
end2 ="h"
end3 ="e"
end4 ="e"
end5 ="s"
end6 ="e"
end7 ="B"
end8 ="u"
end9 ="r"
end10 = "g"
end11 = "e"
end12 = "r"
# watch that comma at the end. tryremoving it to see what happens
print end1 + end2 + end3 + end4 +end5 +end6,
print end7 + end8 + end9 + end10 + end11 + end12
运行结果:
感悟与自我测试:
ex7_1.py
# -*- coding: utf-8-*- #个人偏好中文,所以每次打这个定义编码用于熟悉
a ="."
b ="!!!!"
print a * 10
print "(b + a) " * 5
print "$$$" * 4
运行结果:
习题8:打印 打印
ex8.py
# -*- coding: utf-8-*-
#对于%r 和%s ,一般字符串使用%s,%r大多用于测试debug,目前我还是不是非常理解。
formatter = "%r %r %r%r"
printformatter % (1, 2, 3, 4) # formatter 的中文翻译为“格式化”
print formatter % ("one", "two","there", "four")
print formatter % (True, False,False, True)
print formatter % (formatter, formatter, formatter, formatter)
print formatter % (
"I had thisthing.",
"That you couldtype up right.",
"But it didn'tsing.",
"So I saidgoodnight."
)
运行结果:
感悟与自我测试:
变量也可以被定义成一种格式化输出,下面我们使用%f来测试下。
ex8_1.py
# -*- coding: utf-8-*-
formatter1 = "%4.3f"
formatter2 = "%d"
print formatter1 % (10.8888)
print formatter2 % (10.8888)
运行结果:
此处看起来一切正常,然而之后发现出错的情况。
ex8_2.py
# -*- coding: utf-8-*-
formatter1 = "%4.3f"
formatter2 = "%d"
print formatter1 % (10.8888,9.3333)
print formatter2 % (10.8888,2.222222)
运行结果:
ex8_3py
# -*- coding: utf-8-*-
formatter = "%r %r %r%r"
formatter1 = "%2.2f %2.3f%3.1f"
formatter2 = "%d"
number1 = 20.88888
number2 = 3.1312313
print formatter1 % (10.8888,3.3333, 0.8888)
print formatter2 % (10.8888)
#换种思路,将数值赋予给变量,之后于打印中定义格式化输出
print "I have %4.3f dogs." %number1
print "She's got %s chocolates and %4.3f apples." %(number1, number2)
运行结果:
故总结出,括号中的每一个字符串都需要提前指定,并不是想当然的后面参照第一个标准