吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3224|回复: 13
收起左侧

[Python 转载] day3 --> if条件判断 及课后小练习【已更新部分例子 及代码】

[复制链接]
mbz 发表于 2018-7-11 21:33
本帖最后由 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后的小于号换成大于号我就被执行了")
双分支简化语法:   
结果1  if 条件  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)界面交互:展示提示信息,让用户有一个良好的体验



石头剪刀布游戏代码:
# 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("电脑胜了,加油")



简单例子和游戏代码 已粘贴上
编辑时没找到代码块显示,有知道的麻烦回复一下,,

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
Hakon + 1 + 1 用心讨论,共获提升!
向往的歌 + 1 + 1 楼主很给力!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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

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

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

免费评分

参与人数 1热心值 +1 收起 理由
叶尘诚 + 1 用心讨论,共获提升!

查看全部评分

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
嘎嘎,只是个伪代码啊,给个参考答案撒,
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
楼主  一起来学习  吾爱学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 17:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表