Измените эту программу так, чтобы перед созданием окна пользователю предлагалось ввести нужный цвет фона. - PullRequest
0 голосов
/ 19 апреля 2019

Когда я пишу скрипт и запускаю его.Python Terminal starts doing it, but when it comes to prompting a color my program skips this step.

Цель: Modify this program so that before it creates the window, it prompts the user to enter the desired background color. It should store the user’s responses in a variable, and modify the color of the window according to the user’s wishes. (Подсказка: список разрешенных названий цветов можно найти на http://www.tcl.tk/man/tcl8.4/TkCmd/colors. htm. Он включает в себя несколько довольно необычных, таких как «персиковый слой» и«HotPink».) `` `

I mean that I want to run all this script in one click and when it comes to prompt me for this color it have to stop and wait for my input.

Выполнено в Powershell

color = str (input (" Background color ": ")) It thinks that input is the next line ---> Background color: window = turtle.Screen()

import turtle

color = str(input("Background color: "))

window = turtle.Screen()

window.bgcolor(color)
window.title("Hello, Tess!")

tess = turtle.Turtle()
tess.color("blue")
tess.pensize(3)

tess.forward(50)
tess.left(120)
tess.forward(50)

window.mainloop() 

Ответы [ 3 ]

1 голос
/ 19 апреля 2019

Как вы пытаетесь запустить этот код? Control + V? Если это так, то он наверняка будет считать следующую строку «input»

попробуйте скопировать это в файл (например, turtle_test.py) и запустить python turtle_test.py в вашей PowerShell. Я просто сделал это, и он работал нормально (вроде, учитывая, что последняя строка неверна).

Последнее (для python2): turtle.mainloop() предполагается использовать вместо window.mainloop(). В python3 это правильно, хотя

0 голосов
/ 19 апреля 2019

Я хочу запустить весь этот скрипт в один клик, и когда мне будет предложено указать этот цвет

В этом случае я рекомендую сделать:

from turtle import Screen, Turtle

window = Screen()

color = None

while color is None:
    color = window.textinput("Choose a background color", "Color:")

window.bgcolor(color)
window.title("Hello, Tess!")

tess = Turtle()
tess.color("blue")
tess.pensize(3)

tess.forward(50)
tess.left(120)
tess.forward(50)

window.mainloop()

Метод textinput() был введен в Python 3 и выводит консоль из взаимодействия.В моей системе Unix, если я добавлю первую строку магического комментария (например, #! /usr/local/bin/python3) и установлю исполняемый файл, я могу (дважды) щелкнуть по нему и получить запрос на цвет фона.

0 голосов
/ 19 апреля 2019

Он успешно запрашивает у меня цвет и успешно реализует различные опции, используя оболочку Bash.

➜ python3 stackoverflow_question.py
  Background color: peach puff
...