如何在乌龟的对话框中输入?

时间:2018-02-28 16:53:16

标签: python turtle-graphics

我是python和turtle的初学者。我想制作一个询问是或否的问题的对话框。虽然我可以弹出这个盒子,但是我怎么编码它以便“no”关闭龟程序而“是”会保持它? screen.textinput下面的部分是错误的,但我之前已经使用了终端,我在上面导入了龟。

    screen = turtle.getscreen()
screen.textinput("Welcome to Bowling!", "Are you readt to bowl?!")
if start.lower() == 'yes':
    print("Start!")
else:
    print("Goodbye!")
    turtle.clear
    turtle.bye()

2 个答案:

答案 0 :(得分:0)

这应该让你开始:

import turtle

screen = turtle.Screen()

answer = screen.textinput("Welcome to Bowling!", "Are you ready to bowl?")

if answer is None or answer.lower().startswith('n'):
    print("Goodbye!")
    screen.clear()
    screen.bye()
else:
    print("Start!")

要记住的关键是textinput()返回用户键入的字符串,如果用户点击取消,则返回None

答案 1 :(得分:0)

这是 cdlane 解决方案的替代方案:

    import turtle
    
    screen = turtle.Screen()
    
    answer = turtle.simpledialog.askstring("Welcome to Bowling!", "Are you ready to bowl?")
    
    if answer is None or answer.lower().startswith('n'):
        print("Goodbye!")
        screen.clear()
        screen.bye()
    else:
        print("Start!")

注意:我还没有测试过这段代码,我只是调整了cdlane的代码

simpledialog 函数还有其他选项。 整数和浮点数分别有 askintegeraskfloat。我还没有完全理解这些,因为我只是在探索 VSCode 的代码预测时发现了该功能