if语句
if语句语法结构 if语句示例解析 条件表达式1.标准if条件语句的语法
if expression:
if suite
else:
else_ suite
如果表达式的值非0或者为布尔值True,则代码组if_ suite被执行;否则就去执行else_ suite
代码组是一个python术语 ,它由一条或多条语组成,表示一个子代码块
2.if语句示例解析
只要表达式数字为非零值即为True
>>> if 10:
print('Yes')
Yes
空字符串、空列表、空元组,空字典的值均为False
>>> if "":
print('Yes')
else:
print('No')
No
3.条件表达式
Python在很长的一-段时间里没有条件表达式(C ? X:Y) ,或称三元运算符,因为范罗萨姆一-直拒绝加入这样的功能
从Python 2.5集成的语法确定为: XifC else Y
>>> x,y = 3,4
>>> smaller = xifx >> print smaller
3
# 练习
default_username="root"
default_password="123456"
username = input("localhost login: ")
password = input("password: ")
# if判断语句
if default_username == username:
if default_password == password:
print("welcome to", username)
else:
print("password error !")
else:
print("username error")
三元表达式
if 条件 {
真-->执行
} else {
假-->执行
}
条件?真-->执行:假-->执行
真-->执行 if 条件 else 假-->执行
# 练习
x = input("id: ")
if int(x) > 10:
print('大')
else:
print('小')
# 练习
x = input("id: ")
print('大' if int(x) > 10 else '小')
# 练习
x = input("id: ")
aa = "yes" if int(x) > 50 else "on"
print(aa)
扩展if语句
扩展if语句结构 扩展if语句示例解析if expression1:
if_ suite
elif expression2:
elif_ suite
else:
else_suite
# 练习
1.如果成绩大于60分,输出"及格”
2.如果成绩大于70分,输出"良"
3.如果成绩大于80分,输出"好”
4.如果成绩大于90分,输出"优秀"
5.否则输出"你要努力了”
x = input("请输入分数:")
x = int(x)
if x > 90:
print("优秀")
elif x > 80:
print("好")
elif x > 70:
print("良")
elif x > 60:
print("及格")
else:
print("你要努力了")
# 取随机数
>>> import random
>>> random.ranint(10,30)
编写:剪刀 石头 布 小游戏
# 练习
1.计算机随机出拳
2.玩家自己决定如何出拳
3.代码尽量简化
# 练习 1
import random # 导入随机模板
alist = ["剪刀","石头","布"]
x = random.randint(0,2) # 随机数为0,1,2
computer = alist[x] # 计算机赋值给alist,变量为x
print('''
0:剪刀
1:石头
2:布
''')
y = input("guest number[0-2]: ") # 用户输入一个数字
y = int(y)
if y >= 0 and y < 3:
# 判断胜负
if x == y:
print("平局")
if y == 0:
if x == 1:
print("输了")
else:
print("赢了")
if y == 1:
if x == 2:
print("输了")
else:
print("赢了")
if y == 2:
if x == 0:
print("输了")
else:
print("赢了")
else:
print("你犯规了... ...")
# 练习 2
import random # 导入随机模板
alist = ["剪刀","石头","布"]
x = random.randint(0,2) # 随机数为0,1,2
computer = alist[x] # 计算机赋值给alist,变量为x
print('''
0:剪刀
1:石头
2:布
''')
y = input("guest number[0-2]: ") # 用户输入一个数字
y = int(y)
if y >= 0 and y < 3:
# 判断胜负
if x == y:
print("平局")
if y == 0:
res = "赢了" if x == 2 else "输了"
if y == 1:
res = "赢了" if x == 0 else "输了"
if y == 2:
res = "赢了" if x == 1 else "输了"
print(res)
else:
print("你犯规了... ...")
# 练习 3
import random # 导入随机模板
alist = ["剪刀","石头","布"]
blist = [(0,1),(1,2),(2,0)] # 用户赢的方式取去来
x = random.randint(0,2) # 随机数为0,1,2
computer = alist[x] # 计算机赋值给alist,变量为x
print('''
0:剪刀
1:石头
2:布
''')
y = input("guest number[0-2]: ") # 用户输入一个数字
y = int(y)
if y >= 0 and y < 3:
res = "赢了" if (x,y) in blist else "输了"
if x == y:
res = "平局"
print(res)
else:
print("你犯规了... ...")
while循环
循环语句基础
循环概述 while循环语法结构1.循环概述
一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件
Python中的循环有while循环和for循环
循环次数未知的情况下,建议采用while循环
循环次数可以预知的情况下, 建议采用for循环
2.while循环语法结构
当需要语句不断的重复执行时,可以使用while循环
while expression:
while_ suite
语句while_ suite会 被连续不断的循环执行,直到表达式的值变成0或False
sum100 = 0
counter = 1
while counter <= 100:
sum100 += counter
counter += 1
print ("result is %d" % sum100)
# 练习 1
i, counter = 1, 0
while i < 100:
counter += i
i += 1
print(counter)
# 4950/50=99
# 练习 2
i, counter = 1, 0
while i < 100:
counter += i
i += 1
if i == 50:
break
print(counter)
# 1225/49=25
# 练习
default_username="root"
default_password="123456"
while True:
username = input("请输入用户名: ")
password = input("请输入密码: ")
if default_username == username and default_password == password:
break
else:
print("登录失败 !")
循环语句进阶
break语句 continue语句 else语句1.break语句
break语句可以结束当前循环然后跳转到下条语句
写程序的时候,应尽量避免重复的代码, 在这种情况下可以使用while-break结构
name = input('username: ')
while name != 'tom':
name = input('username: ')
# 可以替换为
while True:
name = input('username: ')
if name == 'tom':
break
# 练习
i = 0
while i < 9:
i += 1
print(i)
if not i % 7:
break
else:
print("ok")
2.continue语句
当遇到continue语句时, 程序会终止当前循环,并忽略剩余的语句,然后回到循环的顶端
如果仍然满足循环条件, 循环体内语句继续执行,否则退出循环
sum100 = 0
counter = 0
while counter <= 100:
counter += 1
if counter % 2:
continue
sum100 += counter
print ("result is %d" % sum100)
3.else语句
python中的while语句也支持else子句
else子句只在循环完成后执行
break语句也会跳过else块
sum10 = 0
i = 1
while i <= 10:
sum10 += i
i += 1
else:
print(sum10)
完善 剪刀 石头 布 小游戏
# 练习
1.计算机随机出拳
2.玩家自己决定如何出拳
3.代码尽量简化
4.实现循环结构,要求游戏三局两胜
# 练习
import random # 导入随机模板
gamelist = ["剪刀","石头","布"]
winlist = [(0,1),(1,2),(2,0)]
user_result = computer_result = 0
while True:
x = random.randint(0,2) # 随机数为0,1,2
print('''
0:剪刀
1:石头
2:布
''')
y = input("guest number[0-2]: ") # 用户输入一个数字
y = int(y)
if y >= 0 and y < 3:
# 判断胜负
print("user: ", gamelist[y], "computer: ", gamelist[x])
if x == y:
print("平局")
continue
if (x,y) in winlist:
user_result += 1
else:
computer_result += 1
if user_result == 2:
print("赢了")
break # 结束循环
elif computer_result == 2:
print("输了")
break
else:
print("你犯规了... ...")
# 练习
1.系统随机生成100以内的数字
2.要求用户猜生成的数字是多少
3.最多猜5次,猜对结束程序
4.如果5次全部猜错,则输出正确结果
# 练习
import random # 导入随机数模块
x = random.randint(0,99) # 生成随机数(0到99)
number_list = [x] # 历史
print(number_list) # 作弊
i = 5 # 变量
while i:
i -= 1 # (0是假)
n = input("guess nuber x: ")
n = int(n)
number_list.append(n) # 历史
if x == n:
print("猜对的","x = n =",x)
break # 结束循环
elif x < n:
print("大了")
else:
print("小了")
else:
print("user guess:", number_list)
for循环
for循环详解
for循环语法结构 range函数 列表解析1.for循环语法结构
python中的for接受可迭代对象(例如序列或迭代器)作为其参数,每次迭代其中一个元素
for iter_var in iterable:
suite_to_repeat
与while循环一样,支持break、continue、 else语句
一般情况下,循环次数未知采用while循环,循环次数已知,采用for循环
2.range函数
for循环常与range函数一起使用
range函数提供循环条件
range函数的完整语法为:
range(start, end, step =1)
# 练习 1
for i in ["a","bb", "ccc"]:
print(i)
# 练习 2
for i in "123456789":
print(i)
# 练习 3
adict = {}
adict["a1","a2","a3"] = 10, 20, 30
for i in adict:
print(adict[i])
# 练习 4
for i in range(1,10):
print(i)
斐波那契数列
# 练习
1.斐波那契数列就是某一-个数,总是前两个数之和,比如0,1,1,2,3,5,8
2.使用for循环和range函数编写-一个程序,计算有10个数字的斐波那契数列
3.改进程序,要求用户输入一个数字,可以生成用户需要长度的斐波那契数列
# 练习 1
alist = [0,1]
for i in range(8):
x = alist[-1] + alist[-2]
alist.append(x)
print(alist)
九九乘法表
1.乘序运行后,可以在屏幕上打印出九九乘法表
2.修改程序,由用户输入数字,可打印任意数字的乘法表
# 练习
for x in range(1,10):
for y in range(1,x+1):
print(str(x)+"x"+str(y)+"=", x*y, sep="", end="\t") # 换行
else:
print("")
列表解析
1.它是一个非常有用、简单、而且灵活的工具,可以用来动态地创建列表
2.语法:
[expr for iter_var in iterable]
3.这个语句的核心是for循环,它迭代iterable对象的所有条目
4.expr应用于序列的每个成员,最后的结果值是该表达式产生的列表
# 练习
>>> alist = [1,2,3,4,5]
>>> blist = []
>>> for i in alist:
>>> blist.append(i**2)
>>> blist
[1,4,9,16,25]
>>> [i**2 for i in alist]
[1,4,9,16,25]
wl -l *.py