三、条件控制

if条件控制

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块
这里写图片描述

  • 格式
if 判断条件:
    执行语句
elif 判断条件:
    执行语句
else:
    执行语句

1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。

  • 判断正负数
number = input("请输入一个数字:")
if int(number) > 0:
    print("{0}是正数".format(number))
elif int(number) < 0:
    print("{0}是负数".format(number))
else:
    print("0=0")
  • 条件嵌套
a = input("请输入一个数字:")
if a.strip():
    if a.isdigit():
        if int(a) >= 18:
            print("{0} 成年".format(a))
        else:
            print("{0} 未成年".format(a))
    else:
        print("你输入的不是数字")

else:
    print("你输入的是空格")

1、strip 判断空格
2、isdigit 判断是否是数字

循环语句

Python循环语句的控制结构图如下所示:
这里写图片描述

while 循环

while语句的一般形式:

while 判断条件:
    语句
  • 计算 1 到 100 的总和
sum = 0
counter = 1
while counter <= 100: ##循环控制
    sum = sum+counter
    counter += 1
print("1-100和为{0}".format(sum))
执行结果:
1100 之和为: 5050
  • break 跳出循环 && continue 继续
while 1:   ##无限循环
    a = input("please input a number: ")
    if a.strip():
        if a.isdigit():
            if int(a) >= 18:
                print("{0} 成年".format(a))
                break
            else:
                print("{0} 未成年 ".format(a))
                break
        else:
            print("你输入的不是数字")
            continue
    else:
        print("你输入的是空格")
        continue
  • else语句
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

你可以使用 CTRL+C 来退出当前的无限循环。

for 循环

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

  • 格式
for <variable> in <sequence>:
    <statements>
else:
    <statements>
  • len()方法

Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。

str = "runoob"
 len(str)             # 字符串长度
6
l = [1,2,3,4,5]
 len(l)               # 列表元素个数
5
- 乘法口诀

for i in range(1,10):
for n in range(1,i+1):
print(“{0}x{1}={2}”.format(i,n,i*n),end=” “)
if i==n:
print()

range()

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。
Python2 range() 函数返回的是列表。
  • 函数语法
range(stop)
range(start, stop[, step])

参数说明:
1、start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
2、stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
3、step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

  • 实例
### 字符串
range(5)
range(0, 5)
 for i in range(5):
...     print(i)
... 
0
1
2
3
4
### list
 list(range(5))
[0, 1, 2, 3, 4]
 list(range(0))
[]
###### 有两个参数或三个参数的情况(第二种构造方法)::
list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
list(range(0, 10, 2))
[0, 2, 4, 6, 8]
list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
list(range(1, 0))
[]

习题

ABCD乘9=DCBA,A=? B=? C=? D=? 答案:a=1,b=0,c=8,d=9 1089*9=9801

for A in range(1, 10):
    for B in range(0, 10):
        for C in range(0, 10):
            for D in range(0, 10):
                start = 1000 * A + 100 * B + 10 * C + D
                end = 1000 * D + 100 * C + 10 * B + A
                if start * 9 == end :
                    print("{0}".format(A))
                    print("{0}".format(B))
                    print("{0}".format(C))
                    print("{0}".format(D))
                    print("{0}= {1}".format(start*9,end))

猜你喜欢

转载自blog.csdn.net/weixin_39934221/article/details/79871906