请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 10003|回复: 5

新人求教!!!

[复制链接]

1

主题

0

好友

15

积分

新手上路

Rank: 1

发表于 2017-2-8 16:52:50 |显示全部楼层
本人初学python,对python很有兴趣,一直是看crossin的编程教室学习python的。在此感谢crossin老师的教程,让我有了学习Python的机会。
另外我有个疑问想求教。
我写了一个坐标系象限判断程序,但不知道如何让程序对控制台输入的坐标点进行判断。用input()无法对两个数字进行判定。
我尝试了很多次最终使用x,y=input()来判定,但是这个语句有时错误,有时又能正常运行,不知道怎么回事。
以下是我写的程序代码:
n=1
while n==1:
    x,y=input()
    if x>0:
        if y>0:
            print'根据程序判断您输入的坐标点位于第一象限'

    if x>0:
        if y<0:
            print'根据程序判断您输入的坐标点位于第四象限'

    if x<0:
        if y<0:
            print'根据程序判断您输入的坐标点位于第三象限'

    if x<0:
        if y>0:
            print'根据程序判断您输入的坐标点位于第二象限'

    if x==0:
        if y>0:
            print'根据程序判断您输入的坐标点位于y轴的正半轴上'
    if x==0:
        if y<0:
            print'根据程序判断您输入的坐标点位于y轴的负半轴上'        
    if y==0:
        if x>0:
            print'根据程序判断您输入的坐标点位于x轴的正半轴上'
    if y==0:
        if x<0:
            print'根据程序判断您输入的坐标点位于x轴的负半轴上'
    if x==0:
        if y==0:
            print'根据程序判断您输入的坐标点位于原点'

另外还有一个问题,如何让程序根据输入的坐标点来进行相对回应。
我的意思就是假如我输入坐标点(1,1),程序就会回答(1,1)位于第一象限这样的回答。
我只学会了一个数字的相对回应吗,两个数字的始终摸不透该怎么写,希望大家能指教一下。
回复

使用道具 举报

1

主题

0

好友

25

积分

新手上路

Rank: 1

发表于 2017-2-8 21:20:54 |显示全部楼层
x,y=input()这句如果不对的话就分开来输入啊,比如x=input('Plase input x=:');y=input('Plase input y=:')
至于最后的回应该问题,print (x,y)+'坐标位于第一象限'就可以了
回复

使用道具 举报

1

主题

0

好友

15

积分

新手上路

Rank: 1

发表于 2017-2-8 22:56:57 |显示全部楼层
sxyclylq1000 发表于 2017-2-8 21:20
x,y=input()这句如果不对的话就分开来输入啊,比如x=input('Plase input x=:');y=input('Plase input y=:') ...

感谢你的回答!我现在才知道原来input()的括号里面可以输入语句的...
第一个问题是解决了,不过你给的第二个问题的解决方法有些问题。
我按照你说的输入了 print (x,y)+'坐标位于第一象限'
提示错误,原因是没有使用str()对x,y进行类型转化,后来我自己加上了str又提示错误说str不能转化超过1个数字。
最终我尝试着拆分str,改成了print '('+str(x),str(','),str(y)+')位于第一象限',没想到居然成功了。
虽然语句不美观,但还能用就行。
回复

使用道具 举报

1

主题

0

好友

25

积分

新手上路

Rank: 1

发表于 2017-2-8 23:22:45 |显示全部楼层
print(str(x),str(y))+'坐标位于第一象限'
哈哈,多看看别人写的代码就知道了,我也是刚开始学,这些天看的头昏脑涨的
回复

使用道具 举报

1

主题

0

好友

15

积分

新手上路

Rank: 1

发表于 2017-2-9 12:29:11 |显示全部楼层
sxyclylq1000 发表于 2017-2-8 23:22
print(str(x),str(y))+'坐标位于第一象限'
哈哈,多看看别人写的代码就知道了,我也是刚开始学,这些天看的 ...

print(str(x),str(y))+'坐标位于第一象限'有问题吧。
你觉得能打双重括号吗?
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2017-2-9 14:22:17 |显示全部楼层
king 发表于 2017-2-9 12:29
print(str(x),str(y))+'坐标位于第一象限'有问题吧。
你觉得能打双重括号吗?

能不能这么输,自己在python环境里试一下就好啦,一行代码的事情

另外关于让输出美观且简洁,建议你参考一下 《字符串格式化》 那课里的内容
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-3-29 14:56 , Processed in 0.024094 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部