格式化:
在字符串中,利用“%”表示对字符串进行格式化,%d:表示应该放入一个整数。%s:表示应该放入一个字符串。
下面我们来看代码
L = "I love %s"
print(L%"Lilian")
D = "I love %s"%"You"
print(D)
我们利用来s%来进行格式化,这样我们可以随意插入我们想要输出的值,这个不难理解,再来看整数的格式化
L = "I am %d years old"
print(L%18)
如果同时用到%s,%d,必须要同时跟两个值
L = "I am %s ,I am %d years old"
print(L%("Mr.Xu",20))
那么到这里应该都熟悉了,这样用比较麻烦,因此Python有个高级又灵活点的操作,format函数
利用format函数格式化字符串:
在使用上,以{}代替%号,后面用format带参数完成
L = "I love {}".format("Lilian")
print(L)
format是很灵活的,我们也可以放入一个变量
ss = input("请输入姓名:")
dd = input("请输入年龄:")
L = "I love {0}, Her {1} years old this year,{0} Is my goddess".format(ss,dd)
print(L)
0和1代表的是位置参数,format函数ss是0,dd是1,这就是位置,format函数还有很多种用法,我这里只取最简单灵活的。
学习到这里,基本上可以做个小游戏了
dd = ["Zhangsan", "Lisi", "Lilian", "Ashin"]
for name in dd:
print(name)
if name == "Lilian":
print("我的女神出现了")
else:
print("兄弟,打扰了")
else:
print("其余人我都不喜欢")
大意就是,定义一个列表,遍历出来,如果出现了Lilian,那就输出我的女神出现了,否则就输出兄弟,打扰了。毕竟我是正常人,只喜欢女生。等打印完后输出,其余人我都不喜欢,不难理解。
for循环都会,那么我们来打印下九九乘法表,很经典的一个例子
for row in range(1,10):
for col in range(1,row+1):
print(row,"*",col,"=",row*col," ",end="")
print(" ")
for循环出来,因为九九乘法表只有九行,所以range是1-10,包含左边,不包含右边。再循环列,同样是包含左边,而右边是row+1,就是比行多一条,不然打印出来的就不是三角形的乘法表了。接下来的就是一些算法运算,不难,end=" ",意思就是代表这一行打印完不换行,等这里边的循环打印完了,去到下一个print才换行。
函数,形参,实参:
函数:一个函数一般完成一项特定的功能,用def定义
形参:在函数定义的时候用到的参数,没有具体值,只是一个占位符
实参:在调用函数的时候输入的值
返回值return:函数一旦执行return语句,则无条件返回,即结束函数的执行
我们试着用函数来打印九九乘法表
def Line(row):
for col in range(1,row+1):
print(row,"*",col,"=",row*col," ",end="")
print(" ")
for row in range(1,10):
Line(row)
大体的思路是一样的,只是用函数封装了,程序首先执行row的循环,在循环里面调用这个函数,然后把这个值给了函数Line。
递归函数:函数直接或者间接的调用自身,一直到满足条件退出为止。但是Python对递归深度有限制,Python怕你数据溢出,特意设置的,大约最多是998层左右,如果还没结束,就会抛出异常
def fib(n):
if n == 1:
return 1
if n == 2:
return 1
return fib(n-1)+fib(n-2)
print(fib(4))
这是著名的斐波那契数列,一组数字,第一个是1,第二个是2,从第三个开始每个数的值等于前两个值得和。可列数学公式为:f(n) = f(n-1) + f(n-2),这样我们的程序就出来了