您的位置:首页 > 其它

2018-4-3 if while基本用法

2018-04-04 22:07 246 查看
复习及基础补充

所有编程语言都有大体格式,

关键字 函数名 (参数类型 参数){}.

最好用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不在循环内。

以上引用自https://blog.csdn.net/zshfeng/article/details/50478881

更改缩进后还是报错(IndentationError: expected an indented block),后来发现,在最开始处忘了添加while

解决办法,在代码开头加入循环判断while 1

问题解决

代码如下:

while 1:
age = input("please input you age")

if age.strip():
if age.isdigit():

4000
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值就不会自动换行

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  if while 循环