今日学习语句,在程序设计中的3种基本结构是顺序结构、选择结构和循环结构。
1.顺序结构语句
顺序结构语句就是按照程序语句的自然顺序,从上到下,一次执行每条语句的程序,这是程序中最基础的语句,赋值语句、输入/输出语句、模块导入等都是顺序结构语句。
1.1赋值语句
语句格式如下:
变量=对象
注意:1、变量可以是常数、有值的变量或者表达式;2、常量必须是已经命名的变量。例:
myname='静水流深' #将姓名“静水流深”赋值给了变量myname
age = 18 #将数值18赋值给变量age
myinfo = ['静水流深',18,'女'] #将序列赋值给变量myinfo
赋值语句类型:
python中的增强赋值语句是从C语言中国借鉴过来的,用法基本和C语言一致,采用二元表达式和赋值语句的结合。在前面学习常用的赋值运算符时已经举例。使用增强型赋值语句的优点:
1)代码简洁,减少输入代码
2)效率高,代码执行速度快,x=x+y,代码执行两次,而x+=y,代码只执行一次。
3)更易优化,对于支持在原处修改的对象,增强形式会自动执行原处的修改。
1.2输入/输出语句
通过键盘输入数据,输入\输出语句是典型的顺序结构语句,例:
accountname = input(“请输入您的账户名:”).strip( ’ ')
password = input(“请输入您的密码:”).upper()
2.条件语句
2.1 if语句
if语句的语法如下
if 表达式:
语句块
相当于汉语中的“如果…则…”,逻辑判断、比较操作和布尔运算是if条件语句的基础。
例: 彩票中奖号码为123456,查看是否中奖
注意:if表达式后面需要加冒号,否则会报错!
如果只有一条语句,可以直接写到后面,如:
if a>b:max =a
#为了程序代码的可读性,建议还是分行书写,如下:
if a>b:
max=a
2.2 if…else语句
语法格式:
if 表达式:
语句块1
else:
语句块2
这种语句相当于汉语中"如果…否则…"
例:登录网站时需要输入用户名和密码
2.3 if…elif…else 语句
语法格式如下:
if 表达式1 :
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
…
else:
语句块n
举例:
2.4 if 语句的嵌套
例:给出坐标(x,y)的值,判断位于坐标轴中的哪个象限:
2.5 使用and、or、not连接的条件语句
#使用and连接 例:数学方程式
print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
number = int(input("请输入您认为符合条件的数:")
if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
print(number,"符合条件!")
#使用or连接 例:老师重点关注不及格和优秀的学生
score = int(input("请输入考试成绩:"))
if score < 60 or score > 85:
print ("请老师重点关注!")
#使用not关键字 例:非法值的输入
a = input("请输入1位数字")
b = ["0","1","2","3","4","5","6","7","8","9"]
if a not in b:
print("非法输入")
3.循环结构语句
3.1 for循环
3.1.1数值循环
可以解决重复的输入或者计算问题
例:经典的数学计算题1+2+3…+100=?
print("计算1+2+3+... +100的结果为:")
result = 0
for i in range(101):
result += i
print(result)
注:上例中用到了range()函数,其语法格式为:
range(start,end,step)
- start:用于指定起始值,如省略,默认为0;
- end:用于指定结束值(但是不包括该值),如上例i不能取101,该参数不能省略;
- step:用于指定步长,如省略,默认为1.
例:10以内的偶数/10以内的奇数
for i in range(0,11,2)
print(i,end = '')
3.1.2遍历字符串
举例:
string = "天道酬勤" #四个字横向展示
print(sting)
for zx in string: #四个字纵向展示
print(zx)
3.2 while循环
i = 1
while 1 <= 3:
print(静水流深")
i = i + 1
#结果为:
静水流深
静水流深
静水流深
3.3跳转语句
有两种方法可以实现在for循环结束之前离开循环
- 使用break语句完全终止循环
- 使用continue 语句直接跳到下一次循环
例:break
str = "python"
for i in str:
if i == 'o':
break
print(i)
#结果为:
p
y
t
h
例:continue(小游戏,100以内逢7起立,尾数为7或7的倍数起立)
total = 100
for number in range(1,101)
if number % 7 ==0:
continue
else:
string = str(number) #将数值转化为字符串
if string.endswith("7"): #判断是否以数字7结尾
continue
total - = 1 #起立次数减1
print(“从1到100共起立”,total,“次”)