设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 41018|回复: 20
打印 上一主题 下一主题

【Python 第24课】 if的嵌套

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2014-4-24 18:30:50 |只看该作者 |倒序浏览
和for循环一样,if也可以嵌套使用,即在一个if/elif/else的内部,再使用if。这有点类似于电路的串联。

if 条件1:
   if 条件2:
       语句1
   else:
       语句2
else:
   if 条件2:
       语句3
   else:
       语句4

在上面这个两层if的结构中,当
条件1为True,条件2为True时,
执行语句1;
条件1为True,条件2为False时,
执行语句2;
条件1为False,条件2为True时,
执行语句3;
条件1为False,条件2为False时,
执行语句4。

假设需要这样一个程序:
我们先向程序输入一个值x,再输入一个值y。(x,y)表示一个点的坐标。程序要告诉我们这个点处在坐标系的哪一个象限。
x>=0,y>=0,输出1;
x<0,y>=0,输出2;
x<0,y<0,输出3;
x>=0,y<0,输出4。

你可以分别写4个if,也可以用if的嵌套:
if y >= 0:
   if x >= 0:
       print 1
   else:
       print 2
else:
   if x < 0:
       print 3
   else:
       print 4

从流程图上来看,应该是这样。
if.jpg

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

505

积分

高级会员

Rank: 4

沙发
发表于 2015-3-3 09:49:28 |只看该作者
  1. def quadrant(x,y):
  2.     if x>=0:
  3.         if y>=0:
  4.             print 1
  5.         else:
  6.             print 4
  7.     else:
  8.         if y>=0:
  9.             print 2
  10.         else:
  11.             print 3


  12. print 'please input your coordinate:'
  13. x=input('the x is:')
  14. y=input('the y is:')
  15. print 'the quadrant is :'
  16. quadrant(x,y)
复制代码
回复

使用道具 举报

0

主题

0

好友

215

积分

中级会员

Rank: 3Rank: 3

板凳
发表于 2015-4-21 14:53:47 |只看该作者
回复

使用道具 举报

0

主题

0

好友

42

积分

新手上路

Rank: 1

地板
发表于 2015-6-15 14:44:44 |只看该作者
坚持学习
回复

使用道具 举报

0

主题

1

好友

132

积分

注册会员

Rank: 2

5#
发表于 2015-12-4 14:50:28 |只看该作者
get
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

6#
发表于 2015-12-31 13:59:09 |只看该作者
def quadrant(x,y):
    if x>=0:
        if y>=0:
            return 1
        else:
            return 4
    else:
        if y>=0:
            return 2
        else:
            return 3
print 'please input your coordinates:'
x=input('the x is:')
y=input('the y is:')
answer=quadrant(x,y)
print 'the quadrant is %d.'%answer


get~~
回复

使用道具 举报

0

主题

1

好友

40

积分

新手上路

Rank: 1

7#
发表于 2016-4-4 22:16:01 |只看该作者
图片怎怎么挂啦啊
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

8#
发表于 2016-4-5 11:29:55 |只看该作者
德坤 发表于 2016-4-4 22:16
图片怎怎么挂啦啊

谢反馈,已更新
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

26

积分

新手上路

Rank: 1

9#
发表于 2016-4-5 15:37:49 |只看该作者
def xiangxian(x,y):    #英语水平不够,中文拼音来凑~
    if x>0:
        if y>0:
            print'该坐标在第一象限'
        elif y<0:
            print'该坐标在第二象限'
        else:
            print'该坐标在x轴上'
    if x<0:
        if y>0:
            print'该坐标在第三象限'
        elif y<0:
            print'该坐标在第四象限'
        else:
            print'该坐标在x轴上'
    if x==0:
        if y==0:
            print'该坐标为原点'
        else:
            print'该坐标在y轴上'

print '输入坐标值确定象限'
x=input('请输入X轴坐标')    #此种更方便,缺点是没有自动换行
y=input('请输入y轴坐标')
xiangxian(x,y)
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

10#
发表于 2016-4-5 20:08:05 |只看该作者
jiangnoyes 发表于 2016-4-5 15:37
def xiangxian(x,y):    #英语水平不够,中文拼音来凑~
    if x>0:
        if y>0:

自动换行可以在提示语结尾加上一个 \n
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 05:31 , Processed in 0.017860 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部