day3 --> if条件判断 及课后小练习【已更新部分例子 及代码】
本帖最后由 mbz 于 2018-7-12 10:47 编辑if条件判断1.选择结构
[*]选择:判断
[*]条件:真|假
[*]代码块:要执行的代码
基本语法:单分支选择结构
if 条件:
条件为真要执行的代码
示例:
if 1<2:
print("1小于2")
选择结构进阶:双分支选择结构
if 条件:
条件为真 执行的代码块
else: (else:否则)
条件为假 执行的代码块
示例:
if 1<2:
print("1小于2")
else:
print("把if后的小于号换成大于号我就被执行了")
双分支简化语法:
结果1if 条件else结果2
条件为真输出结果1,否则输出结果2
示例:
“出门” if True else “在家”-> 出门
“出门” if False else “在家” -> 在家
简化语法中条件为真输出左边的结果;否则输出右边的结构扩展:
其他语言中~有类似的语法,三元操作符 :条件?结果1:结果2python中没有这样三元操作符的处理
多分支选择结构基础语法
if 条件1:条件1
为真执行的代码
elif 条件2:
条件2为真执行的代码
elif 条件n:
条件n为真执行的代码
else:
所有条件都不为真,才会执行的代码
if 1<2:
print("1小于2")
elif 2==2:
print("我两相等") #因第一个if条件满足,故未执行此条件
else:
print("把if后的小于号换成大于号我就被执行了")
小游戏开发:
(1)用户:需求—分析
a)需求:石头剪刀布小游戏
(2)分析:
a)界面交互:展示提示信息,让用户有一个良好的体验
https://static.52pojie.cn/static/image/hrline/1.gif
石头剪刀布游戏代码:
# coding:utf-8
# 石头 0剪刀 1布 2
#引入随机数,操作步骤延迟
#引入模块
# 引入时间模块
import time
# 引入随机数模块
import random
#打印提示信息
print("~*"*30)
print("\t 石头剪刀布游戏")
print("系统会随机出拳,用户请按照系统提示信息进行比赛")
print("【0】石头 【1】剪刀 【2】布")
print("~*"*30)
#提示电脑在几秒后会出招
print("电脑正在出拳中...3")
time.sleep(1)
print("电脑正在出拳中...2")
time.sleep(1)
print("电脑正在出拳中...1")
time.sleep(1)
print("电脑已出拳,【请您根据提示进行输入】")
#电脑出招随机,用compyter变量保存
computer = random.randint(0,2)
#提示用户输入,并用people变量保存
people = input("请输入你要出的拳--->0/1/2 :")
#等两秒出结果
print("系统正在卖力的计算中,稍等...")
time.sleep(2)
#判断谁赢
#玩家赢得可能:玩:石头 机:剪刀) 玩:剪刀 机:布) 玩:布 机:石头)
if (people == "0" and computer == "1")\
or (people == "1" and computer == "2")\
or (people == "2" and computer == "0"):
print("NB,你赢了")
#平局情况
elif people == computer:
print("平局")
#其他情况
else:
print("电脑胜了,加油")
https://static.52pojie.cn/static/image/hrline/1.gif
简单例子和游戏代码 已粘贴上
编辑时没找到代码块显示,有知道的麻烦回复一下,, 本帖最后由 粗心人 于 2018-8-10 16:22 编辑
代码有问题。
computer给出的是INT,而people给出的是STR
所以 IF判断和等值判断永远是不成立的(永远的else 电脑胜)
把computer的双引号去掉吧,亲
平局判断也要改,要么全INT,要么全STR,转换一下
另外,建议电脑 random以后print一下,方便验证 学了这一课以后试着写的一个猜数小游戏。
# 注释 这是一个猜数游戏
import random
comp = random.randint(0, 30)# 生成随机数
tim=5# 限定游戏次数
print(comp)# 调试用,此行可以去掉
print('这是一个猜数游戏,你有5次机会,根据提示猜猜我心里想的是哪个数字')# 游戏提示
while tim > 0:# 判断游戏次数,大于零继续
print('你还有%d次机会'%tim) #此处涉及到占位符的使用
nu = input('输入一个小于30的数字:')# 输入你猜的数字
num = int(nu)# 将字符转为整数
if num == comp:# 相等。注意comp后面的冒号。另外注意缩进
print('you so good')
break# 猜对了,退出循环。
elif num > comp:# 大于。同IF是同一级。
print('you are big')
elif num < comp:# 小于。同IF是同一级。
print('you are small')
tim = tim - 1# 游戏次数-1。
else:# 游戏次数为0时退出。
print('game over') 这几天在学习for while if等循环语句,不过在脚本里编写的,不过,学到这里就可以减少一定的工作量,但是这里提到的“减少工作量”是说可以一定的提高在工作时的工作量 楼主很给力! 感谢分享 建议带上例子 嘎嘎,只是个伪代码啊,给个参考答案撒,:lol 路过,点赞!! 建议你带上代码实例,就像day1那样,不然意义不大 谢谢,,,,,, 这是VBA? 楼主一起来学习吾爱学习
页:
[1]
2