python学习_002

实例练习

练习昨天学习的内容

  • 给定一个五位正整数,分别打印 每个位的数
    方法1:使用字符串的方式

    方法2:
    


方法3:

  • 打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):   #要执行到与 i 相等
        print("%d x %d = %d"%(j,i,(i*j)),end="	")      #这边处理了一下,好看一点
    print()   #换一下行
  • 打印某个菱形
#打印某菱形图案
a=1
b=1
for i in range(1,8):
    if i<5:
        for _ in range(5-i):
            print(" ",end='')
        for _ in range(a):
            print("*",end='')
        if i<4:
            a+=2
    elif i>=5:
        a-=2
        b+=1
        for _ in range(b):
            print(" ",end='')
        for _ in range(a):
            print("*",end='')
    print()
#我的代码不是很好,感觉还可以优化
  • 打印100 以内的斐波那契数列
#打印100以内的斐波那契数列
pre=1
hou=1
print(1)      #强迫症,少一个感觉不好
while True:
    hou=hou+pre
    if hou>100 and pre >100:     #当某个值达到100 时,终止循环
        break
    print(hou)            #打印斐波那契数列
    pre=pre+hou
    
  • 求斐波那契数列的101项
#求斐波那契数列第101项
pre1=1
hou1=1

#一次走两步
for i in range(50):
    hou1+=pre1
    pre1+=hou1

print(hou1)

#解法二,百度找的
a=1
b=1
count=2
while True:
    c=a+b
    count+=1
    if count>=101:
        print(c)
        break
    a=b
    b=c
  • 求10万内的所有素数
#求10万以内的所有素数     除了1 和 自身,不能被其他数整除的数

for i in range(2,100000):
    for j in range(2,10):
        if i==j:
            print(i)
        if i%j==0:
            break
    if j==9:
        print(i)

代码全是在 jupyter notebook 里面敲的

原文地址:https://www.cnblogs.com/shenshuoyaoyouguang/p/13031960.html