Python学习日记Day3——程序的组织结构

目录

一,顺序结构

二,选择结构/分支结构 

1,if结构

 2,模式匹配——其他语言switch的加强版(3.11中的新特性)

三,循环结构 

1,遍历循环结构for

2,无限循环结构while

3,几种常见循环嵌套案例

1,用户登录,三次机会

2,打印长方形和三角形

3,打印菱形和空心菱形

四,跳转语句

1,break语句

2,continue 语句

五、空语句pass


一,顺序结构

按照语句的自然顺序,从上到下,依次执行

二,选择结构/分支结构 

1,if结构

if 表达式:(这里的冒号别忘记)

        语句块

else:

        语句块

number = eval(input('请输入您的4位中奖号码:'))
if number == 9876:
    print('恭喜您,中奖了!')
else:
    print('很遗憾,未中奖')

请输入您的4位中奖号码:9876
恭喜您,中奖了!

请输入您的4位中奖号码:1234
很遗憾,未中奖

if 表达式1:

        语句1

elif 表达式2:

        语句2

elif 表达式n:

        语句n

else:

        语句 

 嵌套if的使用

answer = input('请问:您喝酒了吗')
if answer == 'yes':
    proof = eval(input('请输入酒精含量:'))
    if proof < 20:
        print('构不成酒驾,祝您一路平安!')
    elif proof < 80:
        print('已构成酒驾,请不要开车')
    else:
        print('已达到醉驾标准,请千万不要开车')
else:
    print('你走吧')

请问:您喝酒了吗yes
请输入酒精含量:65
已构成酒驾,请不要开车

 2,模式匹配——其他语言switch的加强版(3.11中的新特性)

score = input('请输入成绩等级:')
match score:
    case 'A':
        print('优秀')
    case 'B':
        print('良好')
    case 'C':
        print('及格')

三,循环结构 

1,遍历循环结构for

for 循环变量 in 遍历对象:(冒号别忘记)

        语句块

#遍历字符串
for i in 'hello':#i是一个循环变量,自己起的。每次从字符串中取出一个字符并赋值给i,打印出hello中所有的字母
    print(i)

#range()是Python中的一个内置函数,用于生成一个[n,m)的整数序列
for i in range(1,11):
    print(i)
    if i%2==0:
        print(i,'是偶数')

#使用遍历for循环计算1-10的累加和
s = 0
for i in range(1,11):
    s+=i
print('1-10的累加和为:',s)

#找水仙花数:各位上的数的三次方求和与原数相等
print('----------100-999之间的水仙花数----------')
for i in range(100,1000):
    sd = i%10#获取个位上的数字
    tens = i//10%10#获取十位上的数字
    hundred = i//100#获取百位上的数字
    #判断
    if sd**3+tens**3+hundred**3 == i:
        print(i,'是水仙花数')

h
e
l
l
o
1
2
2 是偶数
3
4
4 是偶数
5
6
6 是偶数
7
8
8 是偶数
9
10
10 是偶数
1-10的累加和为: 55
----------100-999之间的水仙花数----------
153 是水仙花数
370 是水仙花数
371 是水仙花数
407 是水仙花数

进程已结束,退出代码0
 

for 循环变量 in 遍历对象:

        语句块1

else

        语句块2

2,无限循环结构while

while的语句结构:

 while 表达式:

        语句块

while循环的四个步骤;

  1. 初始化变量
  2. 条件判断
  3. 语句块
  4. 改变变量
answer = input('今天上课吗?yes or no')
while answer=='yes':
    print('好好学习,天天向上')
    answer = input('今天上课吗?yes or no')

#求1-100的累加和
s = 0
i = 1
while i <=100:
    s+=i
    i = i+1
print('1-100的累加和:',s)

今天上课吗?yes or noyes
好好学习,天天向上
今天上课吗?yes or nono
while1-100的累加和: 5050

 while 表达式:

        语句块1

else:

        语句块2

3,几种常见循环嵌套案例

1,用户登录,三次机会

i = 0#1初始化变量
while i<3:#2条件判断
    #3语句块
    user_name = input('请输入用户名:')
    pwd = input('请输入密码:')
    if user_name=='栗知言' and pwd=='88888888':
        print('正在登录,请稍后...')
        i = 4#4改变循环变量
    else:
        if i<2:
            print('用户名密码不正确,您还有',2-i,'次机会')
        i = i +1#改变循环变量

#单分支判断
if i == 3:
    print('对不起,三次均输入错误!')

请输入用户名:栗知言
请输入密码:88888888
正在登录,请稍后...

请输入用户名:123
请输入密码:321
用户名密码不正确,您还有 2 次机会
请输入用户名:456
请输入密码:654
用户名密码不正确,您还有 1 次机会
请输入用户名:789
请输入密码:987
对不起,三次均输入错误! 

2,打印长方形和三角形

长方形、直角三角形、倒三角形、等腰三角形

#打印输出长方形3行4列
for i in range(1,4):#外层循环控制行数
    for j in range(1,5):#内层循环控制列数
        print('*',end=' ')
    print()#空的print()语句,作用是换行
    #如果是print('\n"),则会隔一行输出

print('-----------------')
#打印输出直角三角形12345
for i in range(1,6):
    #*的个数与行数相同,第一行循环一次range(1,2),第二行循环两次range(1,3)
    for j in range(1,i+1):
        print('*',end=' ')
    print()

print('-----------------')
#打印输出倒三角形54321
for i in range(1,6):
    #第一行循环5次range(1,6),第二行循环4次range(2,6),第三行循环3次range(3,6)
    for j in range(i,6):
        print('*',end=' ')
    print()

print('-----------------')
#打印输出等腰三角形
'''
$$$$*
$$$***
$$*****
$*******
*********
'''
#先打印前面4行
for i in range(1,6):
    #打印倒三角形,用空格代替$
    for j in range(i,5):
        print(' ',end =' ')
    #打印*
    for k in range(1,i*2):
        print('*',end=' ')
    print()

* * * * 
* * * * 
* * * * 
-----------------

* * 
* * * 
* * * * 
* * * * * 
-----------------
* * * * * 
* * * * 
* * * 
* * 

-----------------
        * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 

进程已结束,退出代码0
 

3,打印菱形和空心菱形

只有奇数行能打印出菱形

实心菱形:

#打印菱形
row = eval(input('请输入菱形的行数'))
while row%2==0:
    print('请重新输入一个行数!')
    row = eval(input('请重新输入一个行数:'))
top_row = (row+1)//2#上半个菱形的行数,包括整个菱形图案最中间的一行
#top_row必须是整型,所以用整除号,因为range(,)函数必须是整数

#菱形的上半部分(包括最中间的一行)
for i in range(1,top_row+1):#上半部分菱形的行数外部循环
    # 上半部分菱形的每一行中元素的每部循环
    #空格组成的倒三角
    for j in range(i,top_row):
        print(' ',end = ' ')
    #*组成的等腰三角形
    for k in range(1,i*2):
        print('*',end = ' ')
    print()

#菱形的下半部分
bottom_row = row//2
for i in range(1,bottom_row+1):
    #空格组成的直角三角
    for j in range(1,i+1):
        print(' ',end = ' ')
    #*组成的等腰三角形
    for k in range(1,(bottom_row-i+1)*2):
        print('*',end = ' ')
    print()

 请输入菱形的行数7
      * 
    * * * 
  * * * * * 
* * * * * * * 
  * * * * * 
    * * * 
      * 

空心菱形:

#打印菱形
row = eval(input('请输入菱形的行数'))
while row%2==0:
    print('请重新输入一个行数!')
    row = eval(input('请重新输入一个行数:'))
top_row = (row+1)//2#上半个菱形的行数,包括整个菱形图案最中间的一行
#top_row必须是整型,所以用整除号,因为range(,)函数必须是整数

#菱形的上半部分(包括最中间的一行)
for i in range(1,top_row+1):#上半部分菱形的行数外部循环
    # 上半部分菱形的每一行中元素的每部循环
    #空格组成的倒三角
    for j in range(i,top_row):
        print(' ',end = ' ')
    #*组成的等腰三角形
    for k in range(1,i*2):
        if k == 1 or k == i*2-1:
            print('*', end=' ')
        else:
            print(' ',end = ' ')
    print()

#菱形的下半部分
bottom_row = row//2
for i in range(1,bottom_row+1):
    #空格组成的直角三角
    for j in range(1,i+1):
        print(' ',end = ' ')
    #*组成的等腰三角形
    for k in range(1,(bottom_row-i+1)*2):
        if k==1 or k==(bottom_row-i+1)*2-1:
            print('*', end=' ')
        else:
            print(' ',end=' ')
    print()

       * 
    *   * 
  *       * 
*           * 
  *       * 
    *   * 
      * 

四,跳转语句

1,break语句

程序跳转语句break用于跳出(退出)循环语句,通常与if搭配使用,if是选择语句,不是循环语句,所以,不是跳出if

break跳出他的上一级循环。

#计算从1开始逐渐累加到10的过程中,累加和大于20时对应的数字
sum = 0
i =0#(1)初始化变量
while i<11:
    sum = sum+i
    if sum>20:
        print('累加到20时的数字为:',i)
        break
    i = i+1

 累加到20时的数字为: 6

2,continue 语句

continue用于跳过本次循环的后续代码,继续执行下一次循环操作,continue在循环中也是与if语句搭配使用。

#计算1-100的偶数和
s=0
i=0
while i<=100:
    if i%2==1:#奇数
        i=i+1
        continue
    s=s+i
    i=i+1
print('1-100之间的偶数和:',s)

1-100之间的偶数和: 2550 

五、空语句pass

pass是Python中的保留字

在语法中只起到占位符的作用,是语法结构完整,不报错

一般可用在if、for、while、函数的定义中、类的定义中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栗知言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值