**不重要的内容:**我只是一名大一学生,还有很多的不足。这些文章只是我的学习笔记,谈不上知识原创分享。如文章内容有知识性错误欢迎指出;如果您觉得排版有问题,影响阅读,也可指出,欢迎你的阅读和评论,,谢谢。文末留有我的博客,会不定期更新,一起进步,一起优秀呀。(因为该内容转载自我的博客,所以没有添加一些好玩的表情包)
一、输出
格式化输出
1.1 格式化符号1.2 体验1.3 转义字符1.4 结束符 重点一、输入
1.2 输入的语法1.3 输入的特点 重点一、了解条件语句二、if 语法
2.1 语法2.2 快速体验 三、实例:上网
3.1 简单版3.2 进阶版 四、if...else...
4.1 语法4.2 实用版:网吧上网 五、多重判断
5.1 语法5.2 实例:工龄判断 六、if嵌套
6.1 语法6.2 实例:坐公交
6.2.1 判断是否能上车6.2.2 判断是否能坐下 七、应用:猜拳游戏
三目运算符 运算符的分类
1、算数运算符2、赋值运算符3、复合赋值运算符4、比较运算符5、逻辑运算符
5.1 拓展 总结
循环(while与for)
while
while 循环嵌套
打印正方形星号九九乘法表while...else... for循环
for...else...
while...else...与for...else中的break和continue用法(以后者为例) 一、输出
作用:输出内容
print('hello Python')age = 18print(age)# 需求:输出“今年我的年龄是18岁”
格式化输出所谓的格式化输出即按照一定的格式输出内容。
1.1 格式化符号技巧
%03d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出%.2f,表示小数点后显示的小数位数。 1.2 体验
格式化字符串除了%s,还可以写为f'{表达式}'
age = 18 name = 'TOM'weight = 75.5student_id = 1# 我的名字是TOMprint('我的名字是%s' % name)# 我的学号是0001print('我的学号是%4d' % student_id)# 我的体重是75.50公斤print('我的体重是%.2f公斤' % weight)# 我的名字是TOM,今年18岁了print('我的名字是%s,今年%d岁了' % (name, age))# 我的名字是TOM,明年19岁了print('我的名字是%s,明年%d岁了' % (name, age + 1))# 我的名字是TOM,明年19岁了print(f'我的名字是{name}, 明年{age + 1}岁了')
1.3 转义字符n:换行。t:制表符,一个tab键(4个空格)的距离。 1.4 结束符
注意
print('输出的内容', end="n")
重点在Python中,print(), 默认自带end="n"这个换行结束符,所以导致每两个print直接会换行展示,用户可以按需求更改结束符。
格式化符号
%s:格式化输出字符串%d:格式化输出整数%f:格式化输出浮点数 f-字符串
f’{表达式}’ 转义字符
n:换行t:制表符 print结束符
print('内容', end="")
一、输入在Python中,程序接收用户输入的数据的功能即是输入。
1.2 输入的语法input("提示信息")
1.3 输入的特点当程序执行到input,等待用户输入,输入完成之后才继续向下执行。在Python中,input接收用户输入后,一般存储到变量,方便使用。在Python中,input会把接收到的任意用户输入的数据都当做字符串处理。
password = input('请输入您的密码:')print(f'您输入的密码是{password}')#
输入功能
input(‘提示文字’) 输入的特点
一般将input接收的数据存储到变量input接收的任何数据默认都是字符串数据类型 一、了解条件语句
假设一个场景:
同学们这个年龄去过网吧吗?去网吧进门想要上网必须做的一件事是做什么?(考虑重点)为什么要把身份证给工作人员?是不是就是为了判断是否成年?是不是如果成年可以上网?如果不成年则不允许上网?
其实这里所谓的判断就是条件语句,即条件成立执行某些代码,条件不成立则不执行这些代码。
二、if 语法 2.1 语法if 条件: 条件成立执行的代码1 条件成立执行的代码2 ......
2.2 快速体验if True: print('条件成立执行的代码1') print('条件成立执行的代码2')# 下方的代码没有缩进到if语句块,所以和if条件无关print('我是无论条件是否成立都要执行的代码')
三、实例:上网需求分析:如果用户年龄大于等于18岁,即成年,输出"已经成年,可以上网"。
3.1 简单版age = 20if age >= 18: print('已经成年,可以上网')print('系统关闭')
3.2 进阶版新增需求:用户可以输出自己的年龄,然后系统进行判断是否成年,成年则输出"您的年龄是’用户输入的年龄’,已经成年,可以上网"。
# input接受用户输入的数据是字符串类型,条件是age和整型18做判断,所以这里要int转换数据类型age = int(input('请输入您的年龄:'))if age >= 18: print(f'您的年龄是{age},已经成年,可以上网')print('系统关闭')
四、if…else…作用:条件成立执行if下方的代码; 条件不成立执行else下方的代码。
4.1 语法思考:网吧上网的实例,如果成年,允许上网,如果不成年呢?是不是应该回复用户不能上网?
if 条件: 条件成立执行的代码1 条件成立执行的代码2 ......else: 条件不成立执行的代码1 条件不成立执行的代码2 ......
4.2 实用版:网吧上网age = int(input('请输入您的年龄:'))if age >= 18: print(f'您的年龄是{age},已经成年,可以上网')else: print(f'您的年龄是{age},未成年,请自行回家写作业')print('系统关闭')
五、多重判断注意:如果条件成立执行了某些代码,那么其他的情况的代码将不会执行。
5.1 语法思考:中国合法工作年龄为18-60岁,即如果年龄小于18的情况为童工,不合法;如果年龄在18-60岁之间为合法工龄;大于60岁为法定退休年龄。
if 条件1: 条件1成立执行的代码1 条件1成立执行的代码2 ......elif 条件2:条件2成立执行的代码1 条件2成立执行的代码2 ............else: 以上条件都不成立执行执行的代码
5.2 实例:工龄判断多重判断也可以和else配合使用。一般else放到整个if语句的最后,表示以上条件都不成立的时候执行的代码。
age = int(input('请输入您的年龄:'))if age < 18: print(f'您的年龄是{age},童工一枚')elif (age >= 18) and (age <= 60): print(f'您的年龄是{age},合法工龄')elif age > 60: print(f'您的年龄是{age},可以退休')
六、if嵌套拓展:age >= 18 and age <= 60可以化简为18 <= age <= 60。
6.1 语法思考:坐公交:如果有钱可以上车,没钱不能上车;上车后如果有空座,则可以坐下;如果没空座,就要站着。怎么书写程序?
if 条件1:条件1成立执行的代码 条件1成立执行的代码 if 条件2: 条件2成立执行的代码 条件2成立执行的代码
6.2 实例:坐公交 6.2.1 判断是否能上车注意:条件2的if也是处于条件1成立执行的代码的缩进关系内部。
"""1、如果有钱,则可以上车 2、上车后,如果有空座,可以坐下 上车后,如果没有空座,则站着等空座位如果没钱,不能上车"""# 假设用 money = 1 表示有钱, money = 0表示没有钱money = 1if money == 1: print('土豪,不差钱,顺利上车')else: print('没钱,不能上车,追着公交车跑')
6.2.2 判断是否能坐下"""1、如果有钱,则可以上车 2、上车后,如果有空座,可以坐下 上车后,如果没有空座,则站着等空座位如果没钱,不能上车"""# 假设用 money = 1 表示有钱, money = 0表示没有钱; seat = 1 表示有空座,seat = 0 表示没有空座money = 1seat = 0if money == 1: print('上车') if seat == 1: print('有空座,可以坐下') else: print('没有空座,站着')else: print('没钱,不能上车')
七、应用:猜拳游戏需求分析:
参与游戏的角色
玩家
手动出拳 电脑
随机出拳
判断输赢
玩家获胜 玩家 电脑 石头剪刀剪刀布布石头
平局
玩家出拳 和 电脑出拳相同 电脑获胜
随机做法:
1、导出random模块 2、random.randint(开始,结束) 注意:范围包括左右界
"""提示:0-石头,1-剪刀,2-布1、出拳玩家输入出拳电脑随机出拳2、判断输赢玩家获胜平局电脑获胜"""# 导入random模块import random# 计算电脑出拳的随机数字computer = random.randint(0, 2)print(computer)player = int(input('请出拳:0-石头,1-剪刀,2-布:'))# 玩家胜利 p0:c1 或 p1:c2 或 p2:c0if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0): print('玩家获胜')# 平局:玩家 == 电脑elif player == computer: print('平局')else: print('电脑获胜')
if语句语法
if 条件: 条件成立执行的代码
if…else…
if 条件: 条件成立执行的代码else: 条件不成立执行的代码
多重判断
if 条件1: 条件1成立执行的代码elif 条件2: 条件2成立执行的代码else: 以上条件都不成立执行的代码
if嵌套
if 条件1: 条件1成立执行的代码 if 条件2: 条件2成立执行的代码 ....
三目运算符条件成立的表达式 if 条件 else 条件不成立的表达式
a,b = 1, 2c = a if a < b else bprint(c) #结果为a的值1d = a if a > b else bprint(d) #结果为b的值2
运算符的分类 算数运算符赋值运算符复合赋值运算符比较运算符逻辑运算符 1、算数运算符 运算符 描述 实例 +加1 + 1 输出结果为 2-减1-1 输出结果为 0*乘2 * 2 输出结果为 4/除10 / 2 输出结果为 5//整除10 // 4 输出结果为2%取余10 % 4 输出结果为 2**指数2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2()小括号小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9
注意:
混合运算优先级顺序:()高于 ** 高于 * / // % 高于 + - 2、赋值运算符 运算符 描述 实例 =赋值将=右侧的结果赋值给等号左侧的变量
单个变量赋值
num = 1print(num)
多个变量赋值
num1, float1, str1 = 10, 0.5, 'hello world'print(num1)print(float1)print(str1)
多变量赋相同值
a = b = 10print(a)print(b)
3、复合赋值运算符a = 100a += 1# 输出101 a = a + 1,最终a = 100 + 1print(a)b = 2b *= 3# 输出6 b = b * 3,最终b = 2 * 3print(b)c = 10c += 1 + 2# 输出13, 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3print(c)
4、比较运算符比较运算符也叫关系运算符, 通常用来判断。
a = 7b = 5print(a == b) # Falseprint(a != b) # Trueprint(a < b) # Falseprint(a > b) # Trueprint(a <= b) # Falseprint(a >= b) # True
5、逻辑运算符a = 1b = 2c = 3print((a < b) and (b < c)) # Trueprint((a > b) and (b < c)) # Falseprint((a > b) or (b < c)) # Trueprint(not (a > b)) # True
5.1 拓展数字之间的逻辑运算
a = 0b = 1c = 2# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字print(a and b) # 0print(b and a) # 0print(a and c) # 0print(c and a) # 0print(b and c) # 2print(c and b) # 1# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字print(a or b) # 1print(a or c) # 2print(b or c) # 1
总结算数运算的优先级
混合运算优先级顺序:()高于 ** 高于 * / // % 高于 + - 赋值运算符
= 复合赋值运算符
+=-=优先级 先算复合赋值运算符右侧的表达式再算复合赋值运算的算数运算最后算赋值运算 比较运算符
判断相等: ==大于等于: >=小于等于:<=不等于: != 逻辑运算符
与: and或:or非:not 循环(while与for) while
while 条件:条件满足时执行条件改变
break:终止当前所在的循环
continue:退出当前循环进行下一次循环
如果在循环中使用了continue, 一 定 要 在 使 用 c o n t i n u e 改 变 循 环 的 条 件 textcolor{red}{一定要在使用continue改变循环的条件} 一定要在使用continue改变循环的条件,否则会进入死循环
n = 1while n <= 5: if n == 3: print("有虫子,这个不吃了") n += 1 continue print(f'第{n}个苹果') n += 1
n = 1while n <= 5: if n == 3: print("有虫子,这个不吃了") n += 1 #在continue之前一定一定要有这个条件改变 continue print(f'第{n}个苹果') n += 1
while 循环嵌套while 条件1:条件1成立执行的代码 其他部分while 条件2:条件2成立执行的代码其他部分
n = 1while n <= 3: j = 1 #内置循环结束后都要重新赋值 while j <= 3: print("错了") j += 1 #控制内层循环的条件 print("涮碗") print("一套惩罚结束-------------") n += 1 # 控制外层循环的条件
打印正方形星号*************************
n = 0while n < 5: j = 0 while j < 5: #把5换成n,就是打印三角形 print("*",end='') j+=1 if n < 4: # 控制最后一行不打印回车 print() n+=1
九九乘法表i = 1while i <= 9: j = 1 while j <= i: print(f'{j}*{i}={i*j}',end='t') j += 1 if i < 9: # 控制最后一行不打印回车 print() i += 1
while…else…while 条件:条件成立执行打得的代码else:循环正常结束后执行的代码(如果break终止循环,则不执行该部分代码)
for循环for 临时变量 in 范围
for…else…for 条件:条件成立执行打得的代码else:循环正常结束后执行的代码(如果break终止循环,则不执行该部分代码)
while…else…与for…else中的break和continue用法(以后者为例)str1 = 'asdf'for i in str1: if i == 'd': print('不打印g') break print(i)else: print('正常结束后执行的代码')
str1 = 'asdf'for i in str1: if i == 'd': print('不打印g') # break continue print(i)else: print('正常结束后执行的代码')
欢迎访问我的博客:Super 如有不足,欢迎指出,谢谢