Python基础--04

格式化:

在字符串中,利用“%”表示对字符串进行格式化,%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),这样我们的程序就出来了

猜你喜欢

转载自blog.csdn.net/May_Xu_/article/details/81414212