python(1):第六章

第6章 学习笔记

简介

Python代码在执行时是按照自上向下顺序执行的。
通过流程控制语句,可以改变程序的执行顺序,也可以让指定的程序反复执行多次
流程控制语句分成两大类:条件判断语句,循环语句

条件判断语句(if语句)

     --语法: if  条件表达式  :语句
     --执行流程:if语句在执行时,会先对条件表达式进行求值判断,如果为True,则执行if后面的语句,如果为False,则不执行。
     --默认情况下,if语句只会控制紧随其后的那条语句,如果希望if可以控制多条语句,则可以在if后跟一个代码块。
	   语法:if  条件表达式  :
	     	  代码块
     --代码块中保存着一组代码,同一个代码块中的代码,要么执行要么都不执行;
       代码块是就是一种为代码分组的机制;
       如果要编写代码块,语句不能紧随在:后边,而是要写在下一行;
       代码块以缩进(缩进有两种方式:一种是使用Tab键;一种是使用(4个)空格;python官方文档用的四个空格开始,直到代码恢复到之前的缩进级别时结束;
    ---可以使用逻辑运算符来连接多个条件;
       如果需要所有条件同时满足,则用and;如果希望只有一个条件满足即可,则须使用or;


  ------input()函数(用来获取用户的输入)
		-input()调用后,程序会立即停止,等待用户输入;
		-用户输入完内容后,点击回车程序才会继续向下执行;
		-用户输入完内容后,其所输入的内容会以返回值的形式返回;
		【注意】:input()的返回值是一个字符串(所以如果我们想对数字大小进行比较的时候,一定要考虑类型转换!!!)
		例:a=input()
	       if a>5 :
		   print('max=',a)
		此时会报错,因为a的返回值是字符串,是不可以直接和5比大小的
	    正确改法:a=int(input())或者if int(a)>5或者a=input()
					   a=int(a)							
-input()函数中可以设置一个字符串作为参数,这个字符串会作为提示文字显示;
     例:a=input('请输入任意内容:')
-input可以用于暂时阻止程序结束;
##if-else语句
	-语法:
	           if  条件表达式  :
	           	代码块
	           else  :
	           	代码块
	-执行流程:
		if-else语句执行时,先对if后的条件表达式进行求值判断,如果为True,则执行if后的代码块;如果为False,则执行else后的代码块;

##if-elif-else语句(else可省略)
	-语法:
	     if   条件表达式 :
	          代码块
	     elif  条件表达式 :
	          代码块
	     elif  条件表达式  :
	           代码块
	     elif  条件表达式  :
	           代码块
	     else :
	           代码块
	-执行流程:
	 if-elif-else语句在执行时,会自上而下依次对条件表达式进行求值判断,如果条件表达式的结果为True,则执行当前代码,然后语句结束;如果表达式的结果为False,则继续向下判断,直到找到True为止;如果所有的表达式都是False,则执行else后的代码块。
	-if-elif-else中只会有一个代码块执行

​ 练习1:
​ 编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。

练习2:
    编写一个程序,检查任意一个年份是否是闰年。
    如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年

练习3:
    我家的狗5岁了,5岁的狗相当于多大年龄的人呢?
    其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。
    那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁

    编写一个程序,获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄。
    如果用户输入负数,请显示一个提示信息

练习4:
    从键盘输入小明的期末成绩:
        当成绩为100时,'奖励一辆BMW'
        当成绩为[80-99]时,'奖励一台iphone'
        当成绩为[60-79]时,'奖励一本参考书'
        其他时,什么奖励也没有    

练习5:
    大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
        高:180cm以上; 富:1000万以上; 帅:500以上;
        如果这三个条件同时满足,则:'我一定要嫁给他'
        如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。'
        如果三个条件都不满足,则:'不嫁!'

循环语句

--print()自带换行功能;
--python语句中的 end=''是为末尾end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串,其实这也是一个语法要求,表示这个语句没结束;
--print默认是打印一行,结尾加换行。end=' '意思是末尾不换行,加空格;
	例: i=0
	while i<5 :
        	j=i
    		while j<5 :
       		print('* ',end='')
       		j+=1
    	print()
    	i+=1
    最后打印出来的结果为 * * * * * 
					  * * * * 
					  * * * 
					  * * 
					  * 
--循环语句可以使指定的代码块重复指定的次数;
--循环语句分为两种,while循环 和 for循环;
--while循环:
	--语法:
		while 条件表达式 :
			代码块
		else :
			代码块
	--执行流程:while语句在执行时,会先对while后的条件表达式进行求值判断,如果判断结果为True,则执行循环体(代码块),循环体执行完毕后,继续对条件表达式进行求值判断,以此类推,直到判断循环结果问False,则循环终止;如果循环有对应的else,则执行else后的代码块。
	
--条件表达式恒为True的循环称为死循环,他会一直运行下去,慎用!
--循环的三个条件(表达式)
	 (1)初始化表达式,通过初始化表达式初始化一个变量;
			i=0
	 (2)条件表达式,用来设置执行循环的条件;
	 		while i<10 :
	 			print(i)
	 (3)更新表达式,修改初始化变量的值;
	 			i+=1;

练习1:
    求100以内所有的奇数之和

练习2:
    求100以内所有7的倍数之和,以及个数

练习3:
    水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1**3 + 5**3 + 3**3 = 153)。
    求1000以内所有的水仙花数

练习4:    
    获取用户输入的任意数,判断其是否是质数。质数是只能被1和它自身整除的数,1不是质数也不是合数。

循环嵌套

练习1:
    打印99乘法表
    1*1=1
    1*2=2 2*2=4
    1*3=3 2*3=6 3*3=9
    ...                 9*9=81

练习2:
    求100以内所有的质数

break 与continue

--break---可用来立刻退出循环语句(包括else)
     例:i=0
		while i<=4 :
    		if i==3 :
        		break
    		print(i)
    		i+=1
		else :
    		print('循环结束')
     最后输出为 0
     		  1
     		  2
--continue可用来跳过当次循环
	 例:
	 	i=0
		while i<=4 :
    		i+=1
    		if i==3 :
        		continue
    		print(i)
    
		else :
    		print('循环结束')
    最后的输出为  1
				2
				4
				5
				循环结束

--break和continue都只是对最近的循环起作用;
--pass只是用来在判断或循环语句中占位的;
	例:
		i=1
		if i<5 :
			pass

模块

可以通过引入模块对python进行扩充;
引入一个time模块,来统计程序执行的时间;
from time import *
time函数可用来获取当前的时间,返回的单位是秒;
	例:
		from time import *
		begin=time()
		i=0
		while i<=4 :
    		print(i)
    		i+=1

		end=time()

		print(end-begin)

小游戏 《唐僧大战白骨精》

1、身份选择
    ① 显示提示信息
        欢迎光临 xxx 游戏!
        请选择你的身份:
            1.xxx
            2.xxx
        请选择:x
    ② 根据用户选择来分配身份(显示不同的提示消息)  
        1.---
        2.---
        3.---  

2、游戏进行
    ① 显示玩家的基本信息(攻击力 生命值)
    ② 显示玩家可以进行的操作:
        1、练级
            - 提升玩家的攻击力和生命值
        2、打BOSS
            - 玩家对BOSS进行攻击,玩家要攻击BOSS,BOSS对玩家进行反击
            - 计算BOSS是否被玩家消灭,玩家是否被BOSS消灭
            - 游戏结束
        3、逃跑
            - 退出游戏,显示提示信息,游戏结束!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值