【Python】经典案例练习-DAY05

1.水仙花数

# 求100-999之间的水仙花数:指一个三位数,其各位数字立方和等于该数本身
# 从100开始循环遍历到999
for i in range(100,1000):
    # 个位数
    geWei = i % 10
    # 十位数
    shiWei = i//10 % 10
    # 百位数
    baiWei = i //100
    if geWei**3 + shiWei**3 + baiWei**3 == i:
        print("100-999之间的水仙花数有:"+str(i))

2.闰年

# 求2000年到2100年之间的闰年
# 闰年:可以整除4,但是不能整除100 或者 能够整除400

for year in range(2000, 2101):
    # 判断是否是闰年
    if year % 4 == 0 and year % 100 != 0 or year % 400 ==0:
        print("2000年到2100年之间的闰年有:"+str(year)+"年")

3.九九乘法表

# %d print语句中的占位符代表一个整数
# %f 浮点型
# %s 字符串
# \t转义字符  \n回车换行
for i in range(1,10):
    for j in range(1,i+1):
            print("%d*%d=%d\t"%(i,j,i*j),end='')
    # 打印换行
    print('')

4.猜数游戏

# 系统随机生成一个数字,用户通过输入一个数字去猜,系统提示是否猜中(没有猜中的话,提示大小),直到猜中为止
# python中通过random随机产生一个数字
# 前提需要导入random
import random
# 获得随机的整数 random.randint(1,9) 随机产生1-9之间的随机数
num = random.randint(1,99)
# 用户输入的数字
# inputNum = -1
#是否猜中
flag = False
while not flag:
    inputNum = int(input("请输入一个数字:"))
    if inputNum > num:
        print("你猜的数字大了")
    elif inputNum < num:
        print("你猜的数字小了")
    else:
        print("你猜对了!")
        flag = True

print("程序结束")

print(num)

5.求和

# 求1-2+3-4+5······99的结果

#写法一:直接用所有奇数的和减去偶数的和
# sum1 = 0
# sum2 = 0
# for i in range(1,100):
#     if i % 2 == 0:
#         sum1 +=i
#     else:
#         sum2 +=i
# print("结果为:"+str(sum2-sum1))

# 写法二 按照算数式的逻辑去写
sum = 0
for i in range(1,100):
    if i%2 !=0:
        sum +=i
    else:
        sum -=i
print("结果为:"+str(sum))

6.用户登录系统

# 用户输入用户名和密码登录系统,共有三次登录机会,输入正确登录成功,否则提示错误 或者 提示错误达到三次退出系统

for i in range(1,4):
    name = input("请输入用户名:")
    pwd = input("请输入密码:")
    # 判断用户名和密码是否正确
    if name =='admin' and pwd =='123456':
        print("欢迎%s,登录成功!"%name)
        break
    else:
        if i < 3:
            print("用户名和密码输入不正确,你还有%d次机会:"%(3-i))
        else:
            print("输入错误达到3次,自动退出系统")

7.查找列表中的最大值与最小值(不使用max与min方法)

list1 =[1,3,7,9,2,6,8]
# 常规方法 max(list1),min(list1)
# 循环遍历 比较元素获得最大最小值
# 存放最大值
max = list1[0]
# 存放最小值
min = list1[0]
for i in range(len(list1)):
    if list1[i] > max:
        max = list1[i]
    if list1[i] < min:
        min = list1[i]
print("列表中的最大值为:"+str(max))
print("列表中的最小值为:"+str(min))

8.阶乘求和

# 阶乘 n! = n*(n-1)*(n-2)···*1
# 求1+2!+3!+4!的和

# 由用户决定计算到哪个数的阶乘的和
n = int(input("请输入一个数字:"))
total = 0
for i in range(1,n+1):
    sum = 1 
    for j in range(1,i+1):
        sum *=j
    total +=sum
print("从1到%d的阶乘的和为:%d"%(n,total))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值