Python - 100天从新手到大师(骆昊老师)

D4 循环结构

练习1:输入一个正整数判断是不是素数。

x= int(input('x='))
c = False
for a in range(2,x):
    b=x%a
    c= (c or b==0)
if c==True:
    print('%d不是素数'%x)
else:
    print('%d是素数'%x)

练习2:输入两个正整数,计算它们的最大公约数和最小公倍数。

x= int(input('请输入第一个正整数:'))
y= int(input('请输入第二个正整数:'))
if x>y:
    for z in range(y,0,-1):
        if x%z==0 and y%z == 0:
            print('%d和%d的最小公倍数是%d'%(x,y,x * y //z))
            print('%d和%d的最大公约数是%d'% (x, y, z))
            break
elif y>x:
    for z in range(x,0,-1):
        if x%z==0 and y%z == 0:
            print('%d和%d的最小公倍数是%d'%(x,y,x * y //z))
            print('%d和%d的最大公约数是%d'% (x, y, z))
            break
else:
    print('%d和%d的最小公倍数是%d' % (x, y, y))
    print('%d和%d的最大公约数是%d' % (x, y, x))

D5 构造程序逻辑

寻找“水仙花数”

说明:水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,例如:1 3 + 5 3 + 3 3 = 153 1^3 + 5^3+ 3^3=15313+53+33=153

for x in range(100,1000):
    # a = x // 1000   #千位
    b = x % 1000 // 100  #百位
    c = x % 100 // 10  #十位
    d = x %10  #个位
    if x== b**3+c**3+d**3:
        print(x)

D6 函数和模块的使用

练习1:实现计算求最大公约数和最小公倍数的函数。

module.py

def mmax(x,y):
    (x,y)=(y,x) if x>y else (x,y)
    for z in range(x,0,-1):
       if y%z==0 and x%z == 0:
           return z
def mmin(x,y):
    return x*y//mmax(x,y)

test.py

import module3 as m3
x=int(input('x='))
y=int(input('y='))
print('%d和%d的最大公约数是%d'%(x,y,m3.mmax(x,y)))
print('%d和%d的最小公倍数是%d'%(x,y,m3.mmin(x,y)))

练习2:实现判断一个数是不是回文数的函数。

转为字符串

def isPalindrome(x):
    x = str(x)
    if x == x[::-1]:
        return True
    else:
        return False
z=isPalindrome(int(input('z=')))
print(z)

版权声明:本文为weixin_43676412原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。