学习了pycharm debugger的用法
单步调试
首先在某行代码前面设置一个断点,程序正常执行直到该行就停止,然后按debugger键,可以实现单步调试,下端的变量框中会显示定义的变量,当调试到最后一步时程序执行完成,变量都释放了
1.买苹果案例,学会了不同函数之间可以嵌套使用
price_str = float(input("请输入苹果的单价:")) # input()函数是str类型函数,无法相乘,所以需要去强制类型转换
weight_str = float(input("请输入苹果的重量:"))
money = price_str * weight_str
print(money)
2.变量的格式化输出
print(“格式化字符串” % (变量1,变量2…))
number = 1
print("the number is %d" % number)
student_no = 1
print("the student_no is %06d" % student_no)
#%06d代表显示的位数,显示6位若不足6位在左侧添0补足
price = 1.00
number = 2.10
money = price * number
print("the price is %f , the number is %f , the money is %.2f" % (price, number,money)) # %.2f代表小数点后面只显示两位
#定义小数scale以10.00%形式输出
scale = 0.25
scale *= 100
print("the scale is %.2f%%" % scale)
3.标识符就是用户自定义的变量或函数名
关键字就是系统内部定义的标识符
模块相当于工具包,利用import导入可以使得该工具包模块载入内存中
4 .变量命名法
单词均小写,若是多个单词组成,需要在单词之间加上下划线
5 . 逻辑运算符 算数运算符 赋值运算符
在程序开发中,在判断条件时,会需要同时判断多个条件
and or not 可以将多个条件按照逻辑进行连接,变成更复杂的条件
这些为赋值运算符
+=
-=
*=
/=
//=
/带小数除法
//取整数
%取余数
6 . elif 用法
常用于需要判断多个条件并执行对应语句情况
if else 是条件判断语句
if 条件1:
条件1满足后执行的代码
elif 条件2:
条件2满足后执行的代码
elif 条件3:
条件3满足后执行的代码
else:
条件1,2,3都不满足后执行的代码
7 . if的嵌套
shift + tab 可以使得框选的代码向左一个缩进
8 . 条件和比较运算符
例如a == 1就是一个条件,通常用于条件判断语句或者循环语句中
以下为比较运算符
==
>=
!=
<=
〉
〈
python中条件表达式是三元表达式,形式为 x if c else y (如果条件c成立执行x,否则执行y)
**9 . 出拳小游戏 ** 加入了random随机模块
如果条件判断的内容过长,可以在最外侧条件加一对括号,然后再再每个条件后加一个空格,在pycharm中会自动两个缩进 如
if (player == 3 and computer == 1)or(player == 2 and computer == 3)or(player == 3 and computer == 1):
可以采用如下方式:
if (()
or ()
or ()): #这样python会在每个or前面添加2个缩进,达到美化代码的效果
import random
player = int(input("输入你要出的拳:(1)代表石头,(2)代表剪刀,(3)代表布"))
computer = random.randint(1,3) randint可以在闭区间随机取1,3之间的数字
print("玩家出得拳是%d ,电脑出得拳是%d " % (player,computer))
if (player == 3 and computer == 1)\
or(player == 2 and computer == 3)\
or(player == 3 and computer == 1):
print("玩家胜利")
elif player == computer:
print("平局")
else:
print("电脑获胜")
10 . 随机数的处理
在python中,要使用随机数,需要导入随机数的模块 random
import random
其中的randint(a,b)函数是返回a-b之间的一个随机数,包含a和b
例如
random.randint(1,10)
11 .循环
程序的三大流程有顺序结构,分支结构(条件判断语句if else),循环结构
while循环结构如下:
初始条件
while 条件:
.....计算的代码块
处理条件(计数器+1)
12 . python中计数从0开始
13 . break和continue
break和continue是专门在循环中使用的关键字
break某一条件满足时,退出循环不再执行后续代码,break常用于条件判断语句中,用于满足某个条件后跳出循环
continue某一条件满足时,不执行后续重复代码
发现了break和continue打断点单步调试的两种不同情况
以下是代码
i = 0
while i < 30:
if i == 3:
break
print(i)
i += 1
print("over")
1.若是断点打在了if处,程序运行到if处停止,此时i的值还是0
2.若是断点打在了break处,程序此时已经输出了0,1,2
i的值已经变成了3,再进行单步直接跳到print(“over”)处
14 . 循环嵌套
while循环嵌套的格式:
初始条件
while 条件1:
条件满足时做的事情1
.......
while 条件2:
条件满足做的事情1
......
条件的处理2
条件的处理1
print()函数的补充,print函数输出语句后会在内容末尾自动换行
利用end可以输出想要的内容
print(“输出的内容”,end = “”)
end可以替换此时print自动的换行
以下是输出小星星程序
"""
利用循环嵌套完成每行生成等量星星的程序
"""
# 非嵌套循环版本
row = 1
while row<=5:
print("*" * row)
row += 1
# 嵌套循环版本
row = 1
while row <= 5:
col = 1
while col <= row:
# print("%d" % col)
print("*",end="")
col += 1
# print("第 %d 行" % row)
print("") # 该行作用就是利用print产生的换行,使得一行星星能够换一次行,也即是一个大循环后能有一个换行
row += 1
14.1 99乘法表
row = 1 # 在变量命名中,通常用row表示行,用col表示列
while row <= 9:
col = 1
while col <= row: # 此处可以保证行数和列数保持一致
temp = col * row
print("%d * %d = %d"% (col,row,temp),end="\t")
col += 1
print("")
row += 1
15 . 转义字符
\t可以协助在输出文本时,垂直方向保持对齐
“可以在print中输出”
\输出反斜杠
print("1\t2\t3\t")
print("10\t20\t30\t")