当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 11 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-12 15:14 

注册: 2013-01-23 14:27
帖子: 84
系统: ubuntu 12.04
送出感谢: 0 次
接收感谢: 0 次
#!/bin/env python

f = open("0.ASC")
for line in f.readlines():
columns = line.strip().split()
num1 = float(columns[1])
num2 = float(columns[2])
if ((num1-6)**2+(num2-18)**2)**(0.5)<0.5:
print line,
f.close()

----------------------------------------
下面是0.ASC的内容
1 6.1 18.4
2 7.1 19.4

谢谢!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-12 15:19 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10149
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 130
代码无误,需要去检查文件。
代码:
>>> a=[[1,6.1,18.4],[2,7.1,19.4]]
>>> for columns in a:
...     num1 = float(columns[1])
...     num2 = float(columns[2])
...     if ((num1-6)**2+(num2-18)**2)**(0.5)<0.5:
...             print columns
...
[1, 6.0999999999999996, 18.399999999999999]


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-12 15:27 

注册: 2013-01-23 14:27
帖子: 84
系统: ubuntu 12.04
送出感谢: 0 次
接收感谢: 0 次
oneleaf 写道:
代码无误,需要去检查文件。
代码:
>>> a=[[1,6.1,18.4],[2,7.1,19.4]]
>>> for columns in a:
...     num1 = float(columns[1])
...     num2 = float(columns[2])
...     if ((num1-6)**2+(num2-18)**2)**(0.5)<0.5:
...             print columns
...
[1, 6.0999999999999996, 18.399999999999999]


文件很简单,也没问题啊?


附件:
0.txt [24 Bytes]
被下载 38 次
页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-12 17:07 

注册: 2013-01-23 14:27
帖子: 84
系统: ubuntu 12.04
送出感谢: 0 次
接收感谢: 0 次
大家下载下来后,把我写的脚本中改为“1.txt",用我的脚本看能运行吗?帮忙找错!


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-12 21:25 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
没有问题,运行结果:
代码:
1   6.1   18.4


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-12 23:10 
头像

注册: 2009-06-01 21:21
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/bin/env python

import math
f = open("0.txt")
for line in f.readlines():
   columns = line.strip().split()
   num1 = float(columns[1])
   num2 = float(columns[2])
   if math.sqrt((num1-6)**2+(num2-18)**2) < 0.5:
      print line,
f.close()


浮点数计算会出现误差问题, 看这种误差是否满足你的要求吧
输入文本数据如果有格式问题, catch异常进行处理吧

误差可以考虑使用这种方法
代码:
#!/bin/env python

import math
f = open("0.txt")
for line in f.readlines():
   columns = line.strip().split()
   num1 = float(columns[1])
   num2 = float(columns[2])
   if math.sqrt(((num1-6)**2+(num2-18)**2) * 10000) < 0.5 * 100:
      print line,
f.close()


_________________
chrome+Proxy Switchy!+SogouProxy,突破教育网的网络限制


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-13 12:44 

注册: 2013-01-23 14:27
帖子: 84
系统: ubuntu 12.04
送出感谢: 0 次
接收感谢: 0 次
icejoywoo 写道:
代码:
#!/bin/env python

import math
f = open("0.txt")
for line in f.readlines():
   columns = line.strip().split()
   num1 = float(columns[1])
   num2 = float(columns[2])
   if math.sqrt((num1-6)**2+(num2-18)**2) < 0.5:
      print line,
f.close()


浮点数计算会出现误差问题, 看这种误差是否满足你的要求吧
输入文本数据如果有格式问题, catch异常进行处理吧

误差可以考虑使用这种方法
代码:
#!/bin/env python

import math
f = open("0.txt")
for line in f.readlines():
   columns = line.strip().split()
   num1 = float(columns[1])
   num2 = float(columns[2])
   if math.sqrt(((num1-6)**2+(num2-18)**2) * 10000) < 0.5 * 100:
      print line,
f.close()


谢啦!
还有一个问题,就是加入1.txt的头几行想加以#开头的标注,这时python就人不出来标注,就会出现错误。该怎么办呢?谢谢


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-13 20:16 
头像

注册: 2009-06-01 21:21
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
一个问题开了两个贴, 只知道提问题, 自己都不去看看
代码:
#!/bin/env python
# encoding: utf-8

# 这是个测试注释
print "囗囗囗囗 U, dude! Son of 囗囗囗囗囗!"


附件:
文件注释: 示例程序
hello.py [89 Bytes]
被下载 39 次


_________________
chrome+Proxy Switchy!+SogouProxy,突破教育网的网络限制
页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-14 10:53 

注册: 2013-01-23 14:27
帖子: 84
系统: ubuntu 12.04
送出感谢: 0 次
接收感谢: 0 次
icejoywoo 写道:
一个问题开了两个贴, 只知道提问题, 自己都不去看看
代码:
#!/bin/env python
# encoding: utf-8

# 这是个测试注释
print "囗囗囗囗 U, dude! Son of 囗囗囗囗囗!"



好像你理解错了。我的问题是编了一个.py,去处理.txt中的数据,但是由于.txt中有#开头的批注,阻碍了.py的运行,在不删除批注的情况下该如何使.py忽略.txt中的批注呢?谢谢


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-14 19:44 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
代码:
for line in f:
    line=line.strip()
    if not line.startswith('#'):
        columns = line.strip().split()
        .....


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 求助,我编了如下python脚本,为什么老是没结果呢?
帖子发表于 : 2013-03-14 21:20 
头像

注册: 2010-06-16 1:05
帖子: 14668
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
我了个去,我的理解有问题。。。
我还以为楼主说是的文件里有#会影响python处理问题呢。。。。。。
把备注删掉不就行了= =


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 11 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google [Bot] 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译