【问题标题】:I cannot pass of the first print我无法通过第一次打印
【发布时间】:2014-04-20 17:35:23
【问题描述】:

请有人帮助我,因为我没有发现错误在哪里。

请不要对我刻薄,我只是在学习我只想知道我如何解决这个问题。

我在这段代码上有一个错误,因为我在每个 whileif 之后都放了一个 print,然后,当我只运行代码时打印第一条消息。

这是代码的一部分,我将文件称为“测试”:

# -*- coding: utf-8 -*-
import serial
datosOEM=bytearray(5)
print(datosOEM)
datosOEM[0]=65
print(datosOEM)
x=[0]*6
...
k=0;
trama=1;
B=0;
C=0;
conexion=True;                 
if(conexion):
    #{
    print ('conexion ON')
    while(response<200):
        print ('data save')
        while(C==0):
            #{
            print ('what is C?')
            x[0]=datosOEM[k];
            if(x[0]==1):
                #{
                print ('what is x1?')
                x[1]=datosOEM[k+1];
                ...

当我运行文件“test.py”时,我看到的是这个

A
True
Port opened...
Data sent
inside while
"something" # This data change everytime that I run the code
conexion ON

总之,我需要你帮助做一件事: 在文件“test.py”中找到错误

请不要对我无礼,我只是在学习

########################################### ###############

以我有原始帖子的形式,观众给我一个-6

我只是用一个新名称编辑这篇文章,,我请求其他投票“喜欢”的观众,因为我正在使用这个页面来完成我的论文

【问题讨论】:

  • 为什么这个问题被标记为“java”?
  • 对不起,我想在这里添加一些 java,但我决定将 Java 部分放在单独的帖子中
  • 请尽量减少你的帖子的核心问题,并为它选择一个合适的标题。现在,这个问题根本不是一个好问题。
  • 阅读完帖子后。你有什么推荐的?

标签: python python-2.7


【解决方案1】:
   print ('conexion ON')
    while(response<200):

response 是一个字符串(调试输出中的“某物”)。你在比较它 为整数。在 Python 的某些实现中,integers always compare "less than" strings,看起来这就是在您的情况下跳过循环的原因。

【讨论】:

  • 那么,我该如何解决这个问题?
  • 不要将字符串与整数进行比较?
  • 非常感谢,因为我不知道。现在我解决了这个问题,改变了“resp”的“is”之后的所有“response”。现在我在第 62 行遇到了其他问题:IndexError: bytearray index out of range.
猜你喜欢
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多