复习及基础补充
所有编程语言都有大体格式,
关键字 函数名 (参数类型 参数){}.
最好用isinstance,type判断不了子类集成的父类属性
学习内容
- if条件判断
数据判断 (字符串)1.是否为空
if也可以用strip,举例if a.strip
判断是否为一个字典
上面的str()就是强制转换为字符串 然后字符串+字符串
- len()长度
描述
Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
语法
len()方法语法:
len( s )
参数
s – 对象。
返回值
返回对象长度。
- if实例1
补充
isdigit()用法
描述 Python isdigit() 方法检测字符串是否只由数字组成。
语法 isdigit()方法语法:
返回值 如果字符串只包含数字则返回 True 否则返回 False。
age = input("please input you age")
if age.strip(): #这里是去除空格,再判断
if age.isdigit(): #这里是检测字符串是否只由数字组成
if int(age) >= 18: #检测是否满足条件
print("你成年了")
else:
print("你未成年")
else:
print("输入的不是数字")
else:
print("输入空格无效")
注意,if后面的冒号不能忘
- if实例2
Python中用elif代替了else if,所以if语句的关键字为:if–elif–else。
若全部用if语句,程序运行时会遍历所有if(不管每个if后的逻辑运算是否为True)。而用if-elif,程序运行时,只要if或后续某一个elif之一满足逻辑值为True,则程序执行完对应输出语句后自动结束该轮if-elif(即不会再去冗余地执行后续的elif或else)。程序执行效率更高,在项目越庞大代码越多的>情况下体现越明显。
number = input("请输入数字")
if int(number) > 0:
print("{0}是正数".format(number))
elif int(number) < 0:
print("{0}是正负数".format(number))
else:
print("{0}等于0".format(number))
while循环
实例1
a = 100
while a >= 1: #当a大于等于1
print(a)
a -= 1 #a=a-1,再重新判断,回到第一步
运行结果会打印100到1
实例2
ture死循环,while True会不停循环
score=59
while True:
if score>60:
print("及格")
else:
print("不及格")
会不断输出“不及格”
实例3
在while里,1和True都是死循环,但是1的执行效率要比True高,因为1是机器码,true到最后还是会被识别成1
score=59
while 1:
if score>60:
print("及格")
else:
print("不及格")
会不断输出“不及格”
实例4
continue和break
continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
这里遇到一个报错,
这段代码将会报错,SyntaxError: ‘break’ outside loop。
因为Python要求严格缩进,while循环的内容所有都必须缩进一空格。
while循环体覆盖了剩下所有代码。因为if else 和while对齐,不在while循环体内。
相比C语言,虽然省去了大括号,但代价是循环体内严格缩进。
现在就不难理解为什么报错是break不在循环内。
更改缩进后还是报错(IndentationError: expected an indented block),后来发现,在最开始处忘了添加while
解决办法,在代码开头加入循环判断while 1
问题解决
代码如下:
while 1:
age = input("please input you age")
if age.strip():
if age.isdigit():
if int(age) >= 18:
print("你成年了")
break
else:
print("你未成年")
break
else:
print("输入的不是数字,请重新输入")
continue
else:
print("输入空格无效,请重新输入")
continue
- 乘法口诀
for i in range(1,100):
print("{0}×{1}={2}".format(i,i,i*i))
1到99的平方
此时每次计算后都换行
print里end的默认值是回车,指定end值就不会自动换行