if:用来判断事物的对错、真假、是否执行。根据不一样的状况判断,条件知足执行某条件下的语句python
语法结构(3种)微信
# 第一种,只有if结构。条件表达式成立,执行代码块 if 条件表达式: 代码块 # 第二种,if……else……条件表达式成立,执行代码块1,不然执行代码块2 if 条件表达式: 代码块1 else: 代码块2 # 第三种,if……elif……else…… # 若是条件表达式1成立,执行代码块1;不成立,判断条件表达式2,若是条件表达式2成立,执行代码块2,不然执行代码块3。其中,elif能够有多个。 if 条件表达式1: 代码块1 elif 条件表达式2: 代码块2 else:aD 代码块3
if的嵌套code
# 需求:溜达的时候,迎面走来我的,若是是个帅气的小哥哥,就上前要微信,不然就嫌弃地走掉。若是要到微信,就在一块儿散步,不然就回家撸猫 gender = 'male' age = 21 is_smart = True # 帅气的小哥哥 is_success = True # 要到微信 if gender == 'male' and 30 > age > 20 and is_smart: print("哈喽,小哥哥,加个微信呗") if is_success: print("那咱一块儿散步吧……") else: print("回家撸猫!") else: print("都没有帅气的小哥哥,回家回家!")
关于if的习题对象
# 给定一个不超过5位的正整数,判断其有几位 num = input("请输入整数:").strip() num_int = eval(num) count = 0 if num_int > 100: if num_int > 10000: count = 5 elif num_int > 1000: count = 4 else: count = 3 else: if num_int > 10: count = 2 else: count = 1 print(f"您输入的是{count}位数")
while:条件判断,当符合条件,重复执行操做。注意条件的编写,防止陷于死循环索引
语法结构(2种)ip
# 第一种 while while 条件表达式: 需重复执行的代码块 # 第二种 while + else while 条件表达式: 需重复执行的代码块 else: # 这个代码块是while中的操做正常结束后,才能够执行的代码。 # 若是重复操做被break中断,此处代码不会被操做 正常执行重复操做结束后,执行的代码块
while的嵌套element
""" 需求:登陆认证 一、输入帐号、密码,登陆成功,提示登陆成功 二、若是登陆三次,帐号密码都不对,锁定帐号 三、登陆成功后,能够进行命令操做 四、登陆成功后,输入exit时,退出 """ user_name = "dawn" # 存储的用户名 password = "1234" # 存储的密码 count = 0 # 登陆失败的计数器 tag = True # 执行重复登陆操做的条件 while tag: name_inp = input("Please input your name>>>:") pwd_inp = input("Please input your password>>>:") if user_name == name_inp and password == pwd_inp: print("登陆成功") while tag: # 登陆成功后,若是用户输入 exit 命令,退出操做,不然一直执行命令 cmd = input(">>>:") if cmd == "exit": tag = False else: print(f"执行{cmd}命令") else: print("登陆失败") count += 1 # 登陆失败,计数器次数增长一次 if count == 3: # 每次登陆后,判断登陆失败的次数是否等于3次,若是是,锁定帐号,中止操做 print("锁定帐户") tag = False
关于while的习题字符串
# 习题:任意输入一个不超过5位的正整数,依次输出个位、十位、百位、千位、万位的数字。思考:若是是依次输出万位、千位、百位、十位、个位的数字呢? num = input("请输入整数:").strip() num_int = eval(num) count = 0 print(num_int) while True: print(num_int % 10) num_int = num_int // 10 count += 1 if num_int == 0: break print(f"你输入的位数是:{count}")
for:从一个可迭代的集合或对象中依次取出当中的元素,每取一个元素,执行一次操做,直到将集合或对象中的元素取完。(每次执行的操做是同样的,可跟元素无关,也可跟元素有关)。input
for是一种不依赖于索引的取值方式。cmd
语法结构(2种)
# 第一种 for 元素 in 可迭代的集合或者对象:需执行的操做 for element in iteration: 须要执行的代码块 # 第二种 for + else for element in iteration: 须要执行的代码块 else: # 若是在取元素的过程当中,被break中断,此处的代码不会被执行 正常将集合或对象中的元素取完后,执行的代码块
for的嵌套
# 打印九九乘法表 for i in range(1, 10): for j in range(1, i + 1): print(f"{j}*{i}={i*j}", end="\t") print() for i in range(9, 0, -1): for j in range(1,i+1): print(f"{j}*{i}={j*i}", end="\t") print()
关于for的习题
"""一、请实现如下图形的打印 * *** ***** ******* ********* """ for i in range(1,6): for j in range(5 - i): print(" ", end="") for z in range(2*i-1): print("*",end="") print() line_str = input("请输入打印的行数:") line = int(line_str) for i in range(1, line+1): print(" " * (line - i),end="") print("*" * (i * 2 - 1))
continue:跳过当前循环,继续下一次循环
# 请依次输出1,2,3,5,6,7(4不输出) count = 0 while count < 7: count += 1 if count == 4: continue print(count)
break:结束/中断本层循环
# 依次输出1,2,3,遇到4就再也不输出 count = 0 while count < 10: count += 1 if count == 4: break
——内置方法(len和range)
len():获取长度
range():获取一个可迭代的集合
在 python 2中,使用 range() 返回的是一个列表
在python 3中,使用 range() 返回的是一个可迭代的集合
使用方式有两种:
range(stop)
for i in range(4): print(i) # 结果为:0,1,2,3
根据结果能够看出range()默认是从0开始的,不包含4自己,典型的顾头不顾尾
range(start,stop[,step])
for i in range(1,8,2) print(i) # 结果为:1,3,5,7
根据结果能够知晓,start 表示取数的起始值,stop 表示终止值,step 表示步长,能够理解为每次取数时的累加值。其中[step]表示这个参数是选填,能够不使用,默认步长是1。