首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RevitPythonShell用户输入raw_input错误

RevitPythonShell用户输入raw_input错误
EN

Stack Overflow用户
提问于 2020-04-17 17:27:47
回答 2查看 112关注 0票数 0

有人知道如何在RevitPythonShell 2018.1.0.0中修复此错误吗?

在这里输入图像描述

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-18 09:00:06

@GTN,看起来运行shell的代码试图将行解析为代码。这可能是因为它试图找出你的输入是什么。我记得当我第一次创建RPS的时候,我对所有这些都很困惑。

相反,尝试这样做:

代码语言:javascript
复制
print("bunny rabbits lay eggs? yes/no")
answer = raw_input()

编辑:我查过了。它不起作用。

下面是一个使用表单的解决方案:

代码语言:javascript
复制
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
from System.Drawing import Point
from System.Windows.Forms import Form, TextBox, Button, Label, TableLayoutPanel, DockStyle, DialogResult, AnchorStyles


class InputBox(Form):
    def __init__(self, question):
        self.Text = question

        self.tlp = TableLayoutPanel()
        self.tlp.RowCount = 3
        self.tlp.ColumnCount = 1
        self.tlp.Dock = DockStyle.Fill

        self.label = Label()
        self.label.Text = question
        self.label.AutoSize = True
        self.label.Dock = DockStyle.Fill
        self.label.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom
        self.tlp.Controls.Add(self.label)

        self.answer = TextBox()
        self.answer.Dock = DockStyle.Fill
        self.answer.AutoSize = True
        self.answer.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom
        self.tlp.Controls.Add(self.answer)

        self.ok = Button()
        self.ok.Text = "OK"
        self.ok.AutoSize = True
        self.ok.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom
        self.ok.DialogResult = DialogResult.OK
        self.tlp.Controls.Add(self.ok)

        self.Controls.Add(self.tlp)

def raw_input(question):
    input_box = InputBox(question)
    result = input_box.ShowDialog()
    if result == DialogResult.OK:
        return input_box.answer.Text

print raw_input("bunny rabbits lay eggs??") 
票数 0
EN

Stack Overflow用户

发布于 2020-04-17 18:02:36

你是在工作python2.x还是3.x?

检查终端:python -V

下面的代码用于python2.x(对于python 3,使用输入而不是raw_input):

代码语言:javascript
复制
answer = ''
while not answer:
    answer = raw_input("bunny rabbits lay eggs (y,n)? ").rstrip().lower()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61277288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档