使用Python IDLE运行代码的问题

时间:2010-12-14 14:15:55

标签: python

我一直在尝试使用Python 2.7.1连接没有吸尘器的iCreate,roomba并创建了工作代码。当我手动输入每一行时,它完美地工作,但是当把所有代码放在一起时,它会停止并且不会运行。

import Create
import VideoCapture
from PIL import Image, Imagechops
import os
robot = Create.Create(3)
camera = VideoCapture.Device(0, 1)
(rgb_red, rgb_green, rgb_blue) = (0, 0, 0)
red = Image.open("Red.jpeg")
(redr, redg, redb) = red.getpixel((0, 0))
blue = Image.open("Blue.jpeg")
(bluer, blueg, blueb) = blue.getpixel((0, 0))
green = Image.open("Green.jpeg")
(greenr, greeng, greenb) = green.getpixel((0, 0))
yellow = Image.open("Yellow.jpeg")
(yellowr, yellowg, yellowb) = yellow.getpixel((0, 0))
camera.getImage(0, 0, 'tl')
camera.saveSnapshot('CurrentPicture.jpeg', 0, 0, 'tl')
pic = Image.open("CurrentPicture.jpeg")
(rgb_red, rgb_green, rgb_blue) = pic.getpixel((0, 0))
os.remove("C:\Python27\CurrentPicture.jpeg")
while 0 == 0:
    if((rgb_red - redr) < (rgb_green - greeng)) and ((rgb_red - redr) < (rgb_blue - blueb)):
        robot.stop()
    elif((rgb_blue - blueb) < (rgb_green - greeng)) and ((rgb_blue - blueb) < (rgb_red - redr)):
        robot.turn(45, 40)
    elif((rgb_green - greeng) < (rgb_red - redr)) and ((rgb_green - greeng) < (rgb_blue - blueb)):
        robot.move(50, 50)
    camera.saveSnapshot('CurrentPicture.jpeg', 0, 0, 'tl')
    pic = Image.open("CurrentPicture.jpeg")
    (rgb_red, rgb_green, rgb_blue) = pic.getpixel((0, 0))
    os.remove("C:\Python27\CurrentPicture.jpeg")    

IDLE是否存在运行多行并且无法正常工作的问题,我不太清楚我应该问什么。只是当我将整个块一起运行但逐行输入工作时没有任何反应。

- 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

  1. 相反,如果将代码粘贴到IDLE中,请将其保存到文件中,然后像这样运行:

    python yourfile.py

  2. while 0 == 0:您可能需要while True:

  3. red = Image.open("Red.jpeg") (redr, redg, redb) = red.getpixel((0, 0))是一种非常复杂的说法RED = (255, 0, 0)