实验内容:

1.完成实例

2.完成实战部分

3.输出倒三角乘法表

实验步骤:

实例

实例01:

使用if语句判断用户输入的数字是否符合条件“除以三余二,除以五余三,除以七余二”

1 print("今有物不知其数,三三之数剩二,五五之数剩三,七七之数剩二,问几何?\n")
2 number=int(input("请输入一个数:"))                        #输入数字
3 if number%3 == 2 and number%5 ==3 and number%7 == 2:            #判断数字是否符合条件
4     print(number,"符合条件:三三之数剩二,五五之数剩三,七七之数剩二")

运行结果:

python123物不知数 物不知数python三三数_for循环

 

 

 

实例02:

在实例01的基础上,改用if...else语句对不符合条件的数字也能够判断

1 print("今有物不知其数,三三之数剩二,五五之数剩三,七七之数剩二,问几何?\n")
2 number=int(input("请输入一个数:"))
3 if number%3 == 2 and number%5 ==3 and number%7 == 2:
4     print(number,"符合条件:三三之数剩二,五五之数剩三,七七之数剩二")
5 else:
6     print(number,"不符合条件")

运行结果:

python123物不知数 物不知数python三三数_while循环_02

 

 实例03:

使用if...elif...else语句输出玫瑰花语

1 print("在古希腊神话中,玫瑰集爱情与美丽于一身,所以人们常用玫瑰来表达爱情。")
 2 print("但是不同朵数的玫瑰花代表的含义是不同的。\n")
 3 number = int(input("请输入您想送几朵玫瑰花,小默会告诉您含义:"))
 4 if number == 1:
 5     print("1朵:你是我的唯一!")
 6 elif number == 3:
 7     print("3朵:I Love You!")
 8 elif number == 10:
 9     print("10朵:十全十美!")
10 elif number == 99:
11     print("99朵:天长地久!")
12 elif number == 108:
13     print("108朵:求婚!")
14 else:
15     print("小默也不知道了!可以考虑送1朵,3朵,10朵,99朵或108朵!")

运行结果:

python123物不知数 物不知数python三三数_for循环_03

 

 实例04:

 使用嵌套的if语句判断是否酒后驾车

1 print("\n为了您和他人的安全,严禁酒后开车!\n")
2 proof = int(input("请输入每100毫升血液的酒精的含量:"))
3 if proof <20:
4     print("\n尚未构成饮酒行为,可以开车,但要注意安全!")
5 else:
6     if proof<80:
7         print("\n已达到酒后驾驶标准,请不要开车!")
8     else:
9         print("\n已达到醉酒驾驶标准,千万不要开车!")

运行结果:

python123物不知数 物不知数python三三数_for循环_04

 

 

 实例05:

使用while循环从1开始依次尝试符合条件的数,当遇到符合条件的数时输出该数字并结束循环

1 print("今有物不知其数,三三之数剩二,五五之数剩三,七七之数剩二,问几何?\n")
2 none=True
3 number=0
4 while none:
5     number+=1
6     if number%3 ==2 and number%5 ==3 and number%7 ==2:
7         print("答曰,这个数是 ",number)
8         none =False

运行结果:

python123物不知数 物不知数python三三数_嵌套_05

 

 

 实例06:

将实例05中的while循环改用for循环

1 print("今有物不知其数,三三之数剩二,五五之数剩三,七七之数剩二,问几何?\n")
2 for number in range(100):
3     if number%3==2 and number%5==3 and number%7==2:
4         print("答曰:这个数是",number)

运行结果:

python123物不知数 物不知数python三三数_嵌套_06

 

 

 实例07:

使用for循环嵌套打印九九乘法表

1 for i in range (1,10):                        #输出9行
2     for j in range(1,i+1):                      #输出于行数相等的列
3         print(str(j)+'x'+str(i)+'='+str(i*j)+'\t',end='')   #设置输出格式
4     print('\n')

运行结果:

python123物不知数 物不知数python三三数_嵌套_07

 

 

 实例08:

在实例06的基础上,使用break语句中断循环

1 print("今有物不知其数,三三之数剩二,五五之数剩三,七七之数剩二,问几何?\n")
2 for number in range(100):
3     print(number,' ',end='')
4     if number%3==2 and number%5==3 and number%7==2:
5         print("答曰:该数为",number)
6         break

 

python123物不知数 物不知数python三三数_python123物不知数_08

 

 实例09:

在for循环中使用continue语句实现逢7拍腿

1 total=99
 2 for number in range(100):
 3     if number%7==0:
 4         continue
 5     else:
 6         string=str(number)
 7         if string.endswith('7'):
 8             continue
 9     total-=1
10 print("从1~99共拍手",total,"次")

运行结果:

python123物不知数 物不知数python三三数_嵌套_09

 

 

实战部分

实战01:

模拟支付宝蚂蚁森林能量产生过程

依题,设置可变参数step用于判断用户操作,使用while循环,嵌套if...elif...语句和continue语句实现可重复输入效果,将while循环终止的判断条件设置为字符' 0 '避免出现当step 为整形‘ 0 ’时程序无响应的情况

程序错误的情况:

while step!=0:

python123物不知数 物不知数python三三数_嵌套_10

 

 输入0程序无响应

完整正确代码:

1 print('''
 2 查询能量请输入能量来源!退出城市请输入0
 3 能量来源如下:
 4 生活缴费、行走捐、共享单车、线下支付、网络购票\n''')
 5 step=1
 6 while step!= '0':
 7     step=input()
 8     if step == '生活缴费':
 9         print("100g")
10         continue
11     elif step == '行走捐':
12         print("200g")
13         continue
14     elif step == '共享单车':
15         print("300g")
16         continue
17     elif step == '线下支付':
18         print("400g")
19         continue
20     elif step == '网络购票':
21         print("500g")
22         continue
23 print("已退出!")

运行结果:

python123物不知数 物不知数python三三数_for循环_11

 

 实战02:

猜数字游戏

依题,为实现随机答案效果,导入random标准库,设置key为答案

import random
key = random.randint(1,10)  #key等于1—9随机一个数

使用while循环和if...else语句,当输入的答案不等于key时,对答案进行评价并重新输入

完整代码:

1 import random
 2 answer=int(input("请输入1~10之间的任意一个数\n"))
 3 key=random.randint(1,10)
 4 while answer !=key:
 5     if answer > key:
 6         print("太大,重新输入\n")
 7     else:
 8         print("太小,重新输入\n")
 9     answer=int(input())
10 print("恭喜您,你赢了!")

运行结果:

python123物不知数 物不知数python三三数_while循环_12

 

 实战03:

模拟微信小程序跳一跳的加分

设置参数total作为累积总分,使用while循环加if...else语句实现判断加分

代码如下:

1 print('''欢迎回来,请开始游戏...
 2 请输入:中心、音乐块、微信支付块、踩空\n''')
 3 none=True
 4 total=0
 5 while none ==True:
 6     step=input("请输入:")
 7     if step == '中心':
 8         total+=2
 9         print("您的分数为:"+str(total))
10         continue
11     if step == '音乐块':
12         total+=30
13         print("您的分数为:"+str(total))
14         continue
15     if step == '微信支付块':
16         total+=10
17         print("您的分数为:"+str(total))
18         continue
19     else:
20         none=False
21 print("游戏结束,总分为:"+str(total))

运行结果:

python123物不知数 物不知数python三三数_嵌套_13

 

 注:原题无踩空选项,这里加入是为了让程序看起来更完整

实战04省略,代码与实战01相同,更改了输出内容

倒三角乘法表:

为实现倒序输出,这里采用嵌套while循环的方式,设置计数器 i = 9,设置第一层while循环的循环条件为 i > 0,每循环一次结束时i = i - 1

代码如下:

1 i = 9                                                       #从9开始进行倒序输出
2 while i > 0:                                                #从i=9开始循环到i=0结束
3     print('\t'*(9-i),end='')                                #输出9-i个‘\t’用于对齐
4     j = i                                                   #先输出i*i再输出i*(i-1)...
5     while j > 0:
6         print(str(j)+'x'+str(i)+'='+str(i*j),end='\t')      #输出乘法表
7         j-=1
8     i-=1                                                    #输出完该数字这一行后i-1进行下一个
9     print('\n')                                             #空两行

运行效果:

python123物不知数 物不知数python三三数_for循环_14