循环和分支+学习案例

循环内嵌套if

案例:打印1-100之间的3的倍数

for i in range(1,101):
    if i % 3 == 0:
        print(i)

循环内嵌套循环

简单实现:

for i in range(1,6):
    print("第%d次循环"%i)
    for j in range(1,3):
        print(j)

经典案例 :九九乘法表

法1:while+for

num = 1
while num<10:
    for n in range(1,num+1):
        print("%d * %d = %d"%(n,num,n*num),end="\t")
    print()
    num+=1

法2: for+for

for num in range(1,10):
    for n in range(1,num+1):
        print("%d * %d = %d"%(n,num,n*num),end="\t")
    print()

结果显示:

综合案例

案例1

用户输入一个3位数,判定是否是水仙花数

#1.准备一个三位数的数值
#1.1输入数据
num = input("请输入一个三位数值:")
#1.2 保证这个数是三位数值
num = int(num)
if not(100 < num < 1000):
    print("你输入的数据无效,直接退出程序")
    exit()
print("数据有效")
#2.根据这个三位数,判定是否为水仙花数
#2.1分解百位、十位、个位
a = num//100
b = (num%100)//10
c = num%10
#2.2代入公式,判定是否为水仙花数

result = a**3+b**3+c**3 == num

#3.打印结果
if result:
    print("%d,是水仙花数"%num)
else:
    print("%d,不是水仙花数" % num)
#------------------------------------------
#功能优化:我们可以重复使用这个功能,并且可以随时退出
while True:
    #1.准备一个三位数的数值
    #1.1输入数据
    num = input("请输入一个三位数值:")
    #1.2 保证这个数是三位数值
    num = int(num)
    if not(100 < num < 1000):
        print("你输入的数据无效,直接退出程序")
        exit()
    print("数据有效")
    #2.根据这个三位数,判定是否为水仙花数
    #2.1分解百位、十位、个位
    a = num//100
    b = (num%100)//10
    c = num%10
    #2.2代入公式,判定是否为水仙花数

    result = a**3+b**3+c**3 == num
    
    #3.打印结果
    if result:
        print("%d,是水仙花数"%num)
    else:
        print("%d,不是水仙花数" % num)

    #判定是否继续
    isP =input("您是否想要继续(p:暂停并退出,其他:继续):")
    if isP == "p":
        print("您已退出")
        exit()

案例2

给定一个数值,让用户猜

#1准备数据(采用随机数)
import random
num = random.randint(1,100)

while True:
    #2让用户输入数据
    U_num = int(input("请输入您猜的数字:"))

    #3判定输入数据是否正确
    result = num == U_num
    if result:
        print("恭喜你回答正确!答案就是%d"%num)
        break#exit()
    #3.1如果错误判断,给出提示输入太大还是太小
    else:
        if U_num > num:
            print("太大了,应该小一点")
        else:
            print("太小了,应该大一点")

#优化:---加一个计数器,记录总共猜了多少次-------------------------
import random
num = random.randint(1,100)
# print(num)
count = 1
while True:
    #2让用户输入数据
    U_num = int(input("请输入您猜的数字:"))

    #3判定输入数据是否正确
    result = num == U_num
    if result:
        print("恭喜你回答正确!答案就是%d,您共计猜了%d次"%(num,count))
        break
    #3.1如果错误判断,给出提示输入太大还是太小
    else:
        if U_num > num:
            print("太大了,应该小一点")
        else:
            print("太小了,应该大一点")
        count +=1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值