学爬虫之前,是时候巩固一下我的python了(1)


前言

正所谓温故而知新,这篇文章存在的缘故就是为了帮助我击败以前的“大魔王”,走上刷怪之路


一、循环结构的小难题

示例:传统艺能,先来一篇99乘法表怀念一下我的小白生涯

for i in range(1,10):
    for j in range(i,10):
        print("%d*%d=%-2d"%(i,j,i*j),end=" ")
        #"%d"可以通过调节%后的数字来调节长度(默认右居中,加负号左居中)
        '''print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
            sep -- 用来间隔多个对象,,end -- 用来设定以什么结尾
        '''
    print("\n")

一下这段代码是求素数

思想:——素数是只能被一和它本身整除的数,
—————在超过它的开更数以后不再有被整除的数
—————所以在2~根号X内遍历循环即可

x=int(input("input a mumber:"))
for i in range(2,int(x**0.5)):
    '''x**0.5 == math.sqrt(x) 开方小能手'''
    last=x%i
    if(x%i==0):
        print("不是素数")
        break
if(last!=0):
    print(x,"是素数")

公因数(我不会写呜呜呜,改天补上)

用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。

如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

二、其他的练习

1.水仙花数

水仙花数是一个3位数,该数字每个位上数字的立方之和正好等于它本身。
比如1 ** 3+5 ** 3+3 ** 3=153=它本身(** 意为乘方)

for i in range(1,21):
    for j in range(1,34):
        n=100-i-j
        if(5*i+3*j+n*(1/3)==100 ):
            print("公鸡%d个,母鸡%d个,小鸡%d个"%(i,j,n))

2.百鸡百钱

公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?

for i in range(1,21):
    for j in range(1,34):
        n=100-i-j
        if(5*i+3*j+n*(1/3)==100 ):
            print("公鸡%d个,母鸡%d个,小鸡%d个"%(i,j,n))

3.斐波那契数列

‘’‘斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和,’’’

a=1;b=1
for i in range(20):
    a,b=b,a+b
    #(双重赋值,这是独属于Python的赋值方法,hei优雅)
    print(b,end="  ")

总结

巩固的地方就先到这里啦。到此处才是最基本语法的实现。后面加更的是灵魂(函数),大家敬请期待。 愿大家精进日新,无论是不是披星戴月!

猜你喜欢

转载自blog.csdn.net/m0_53590279/article/details/115309832