mbz 发表于 2018-7-11 21:33

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:16

本帖最后由 粗心人 于 2018-8-10 16:22 编辑

代码有问题。
computer给出的是INT,而people给出的是STR
所以 IF判断和等值判断永远是不成立的(永远的else 电脑胜)
把computer的双引号去掉吧,亲
平局判断也要改,要么全INT,要么全STR,转换一下

另外,建议电脑 random以后print一下,方便验证

lushan63 发表于 2018-7-26 17:36

学了这一课以后试着写的一个猜数小游戏。

# 注释 这是一个猜数游戏
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')

hackernaihe 发表于 2018-7-12 09:18

这几天在学习for    while   if等循环语句,不过在脚本里编写的,不过,学到这里就可以减少一定的工作量,但是这里提到的“减少工作量”是说可以一定的提高在工作时的工作量

向往的歌 发表于 2018-7-11 21:41

楼主很给力!

开心糖 发表于 2018-7-11 21:53

感谢分享

极地企鹅 发表于 2018-7-11 22:00

建议带上例子

jettang 发表于 2018-7-11 22:29

嘎嘎,只是个伪代码啊,给个参考答案撒,:lol

lp1121 发表于 2018-7-11 22:33

路过,点赞!!

luoluoovo 发表于 2018-7-11 23:17

建议你带上代码实例,就像day1那样,不然意义不大

羊先生没胡子 发表于 2018-7-11 23:32

谢谢,,,,,,

A羽飞 发表于 2018-7-11 23:36

这是VBA?

Anakin 发表于 2018-7-12 00:03

楼主一起来学习吾爱学习
页: [1] 2
查看完整版本: day3 --> if条件判断 及课后小练习【已更新部分例子 及代码】