Python基础语法——代码规范&判断语句&循环语句
2020-05-11 12:30 zouhui 阅读(6) 评论(0) 编辑 收藏 举报 来源Python基础语法
代码的执行顺序
从上到下
从左到右
代码规范
模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接
不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的
每行代码不易过长
单个字母使用为名字的时候 i(大小写)、L(大小写)、O(大小写)最好别用,容易混淆,与数字1分不清楚...
不能使用Python中内置的变量,具体自行查看
import keyword print(keyword.kwlist)
还有许多....
上面这些都不是大问题,程序仍可正常运行,再说一般的编辑器都有格式化,如: pyCharm:ctrl+alt+L , vs code: alt+shift+F,习惯的格式化一下就行了.
格式化前,看着无比的糟心,虽然不影响程序的正常运行:
但是容易遭人锤
格式化后,可观赏行非常高,简直赏心悦目:
Python没有像其他语言一样用{}包裹着代码块,Python是严格按照缩进来区分代码块的,所以推荐tab 与 空格 尽量不要混用,代码多了空格多一个少一个眼睛看瞎了也找不出...
像这种的出现了else,与if不同级,没有匹配到if,编辑器就给出了红色波浪线,如果不是这种成对出现的编辑器是不会报错的,没有红色框是很难看出来哪里多,少了一个宫格...关键是这种错误无法格式化到正常赏心悦目的代码。
程序中常用的运算符
# + - * / 加减乘除
# ** 平方 print(2**3) 8
# % 取余数 print(9%2) 1
# // 取商 print(9//2) 4
# in 判断在某个东西里包含
# not in 判断不在某个东西里包含
# 逻辑运算符
# not 取反
# and 同时True为True
# or 一个为True为True
# 三者的优先级关系:not>and>or,同一优先级默认从左往右计算,将要提升的运算用()小括号包括,与数学中一样
# 比较运算符
# == 等于
# != 不等于
# <> 不等于
# >
# >=
# <
# <=
# 身份运算符
# is 比较id id(变量名) 查看id
# == 比较值
Python中的人机交互
# input(提示用语),输入完按回车即可
name = input('请输入您的名字:')
print('您好'+str(name)+'!')
判断语句
单if语句:
# 这里不考虑输入的不是数字的情况
num = input('请输入一个数字:')
# 输入的虽然是数字,但是是个字符串类型的数字
print(type(num))
# 将输入的字符串转换为数字
num = int(num)
if num % 2 == 0:
print('您输入的数字', num, '是个偶数')
print('程序结束')
执行顺序如下:
if...else...语句:
# 格式
if 条件1:(满足条件执行下方语句块结束)
语句块
else:(不满足上面条件执行else后语句块结束)
语句块
# 这里不考虑输入的不是数字的情况
age = int(input('请输入您的年龄:'))
if age > 0:
print('您输入的年龄为', age)
else:
print('请不要开玩笑')
print('程序结束')
if...elif...else:
格式:
if 条件1:
语句块
elif 条件2:
语句块
...
elif 条件n:
语句块
else:
语句块
满足任意条件执行那个条件后的语句块后结束,如都不满足执行else后的语句块结束
# 这里不考虑输入的不是数字的情况
score = int(input('请输入您的分数(0-100之间):'))
# 如不满足第一个条件必然是小于等于100分的
if score > 100:
print('小孩子撒谎可不好啊!!!')
# 所以这个判断的就是是否在90-100之间,包含90和100,下方同理
elif score >= 90:
print('表现不错,带你去旅游')
elif score >= 80:
print('还可以,去吃顿好的庆祝一下')
elif score >= 70:
print('表现一般,下次继续努力')
elif score >= 60:
print('这分数有些危险')
elif 0 <= score < 60:
print('考试不及格,准备好挨打')
else:
print('你怎么考出来的负数?')
判断语句里面可以重复嵌套判断语句
三元表达式(语法糖):
格式:
为真的值 if 条件 else 为假的值
注意 if 和 else 后无:(冒号)
age = int(input('请输入您的年龄:'))
res = '可以当小朋友的叔叔了' if age>=30 else '还小呢,最多是个哥哥'
print(res)
# 三元表达式也可以嵌套,不过不推荐嵌套太多,容易晕呐!!!
age = int(input('请输入您的年龄:'))
res = '老爷爷' if age>=60 else '叔叔' if age>=30 else '小弟弟' if age <=20 else '大哥哥'
print(res)
循环
range(初始值,最终值[不包含],步长)
for i in range(10):
print(i)
for i in range(10,30):
print(i)
for i in range(10,30,2):
print(i)
# 小知识,print()后面默认跟了\n(换行),可以更改
for i in range(10):
print(i,end=' ')
for i in range(10):
print(i,end='\t')
简单for循环
# 至于字符串之类的为啥能循环,因为字符串,列表之类的是可迭代对象,后面在介绍
str1 = 'hello world'
for i in str1:
print(i,end='')
str1 = 'hello world'
for i in str1:
if i == ' ':
i = ','
print(i,end='')
简单while循环
count = 0
res = 0
while count < 11:
res+=count
# 注意一定有一个变化的量用来退出循环,不然就是死循环,就是一直循环
count+=1
# else可以省略,可要可不要
else:
print('此时条件不满足退出循环执行我')
print('程序继续向下执行')
print('1-10的累加和为:',res)
死循环
# 死循环很简单,就是while条件一直满足就行了
while 1:
print('我一直执行')
print('上面循环不结束我一直无法执行')
# 强制关闭ctrl+C,或者点击结束程序
中断循环
pass : 无任何意义,什么也不执行
continue : 执行下次循环
break : 退出循环
for i in range(10):
if i > 3:
pass # 虽然无意义,但是不写会报错
else:
print('这里都是小于等于3的数字:', end='')
print(i)
for i in range(10):
if i == 2:
continue # 满足条件跳过本次循环
print(i)
for i in range(10):
if i == 2:
break # 满足条件终止循环
print(i)
count = 0
while count < 11:
if count < 5:
print('小于5的数字:',count)
count+=1
else:
break
else:
print('非正常结束循环我不执行 ')
接下来写一个猜骰子数字的小游戏,嗯...猜不对不让离开的那种.顺便好好捋一下程序的执行顺序(划重点)以及continue和break的作用与用法。
# 导入模块
import random
while 1:
# 生成1-6的随机数
random_num = random.randint(1, 6)
print(random_num)
while 1:
# 等待用户输入,输入的内容去掉特殊符号
num = input('请输入1-6的数字:').strip()
# 判断输入的不是一位的字符串类型的数字
if len(num) >= 2 or not num.isdigit():
# 温馨提示一下
print('提示:请输入1-6的数字')
# 本次循环跳过,从头(等待用户输入数字那里)开始执行
continue
# 判断输入的数字是否在1-6之间
if int(num) > 6 or num == '0':
print('提示:请输入1-6的数字')
# 如果不在跳过后面代码继续从头(等待用户输入数字那里)开始
continue
print(num)
# 判断输入的与随机出来的是否一致
if random_num != int(num):
print(num+'这个数字不对呢')
# 不一致从头(等待用户输入数字那里)开始
continue
# 上面所有条件不满足说明答案是对的,正常执行
print(str.format('恭喜你,{}是正确的呢', num))
# 退出这一层循环
break
# 询问是否继续
decide = input('不玩了输入N退出:')
# 不是输入n或者N进入if语句
if decide.upper() != 'N':
# 不是退出从随机数哪里开始重新执行
continue
# 输入n满足上面条件退出最外层循环
break
# 程序结束
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!