2016-10-24 2 views
-1

프로그램에서 "질문이 정의되지 않았습니다"라는 이유가 무엇입니까? 내가 말했을 때 내가 그것을 정의 언어 == '앙'이 다른 \폴리곤을 그리기 위해 파이썬 이름이 정의되어 있지 않습니다.

import locale 
def ask_language(): 
language = input("Language: en, es, ca") 
return language 
def ask_number(language): 
question = "Size: " if language == 'en' else \ 
      "Tamaño: " if language == 'es' else \ 
      "Mida: " 
size = input(float(question)) 
locale.setlocale(locale.LC_ALL, "") 
if language == 'en': 
f_size = float(size) 
elif language == 'es': 
f_size = locale.atof(size) 
else: 
f_size = locale.atof(size) 
return f_size 
def move_turn(turtle, size, degrees): 
turtle.forward(size) 
turtle.left(degrees) 
def polygon(turtle, size, sides): 
for _ in range(sides): 
    move_turn(turtle, size, 360/sides) 
def draw_polygon(size): 
import turtle    
window = turtle.Screen() 
alex = turtle.Turtle() 
alex.shape('turtle') 
alex.speed(1) 
polygon(alex, size, 5) 
window.exitonclick()  
turtle.TurtleScreen._RUNNING = True 

답변

0

실행 가능한 것으로 코드를 포맷 한 후, 즉각적인 문제는이 선 것 같다 경우 questio = "크기"

size = input(float(question)) 

함수 호출이 역전되었고, 그것이 있어야 :

size = float(input(question)) 

을하지만, 다음과 논리를 주어, 정말해야합니다 :

,
size = input(question) 

이후 답변은 로캘에 따라 나중에 변환됩니다. 아래는 위 스타일과 몇 가지 스타일 조정을위한 코드 재 작업입니다.

from turtle import Turtle, Screen 
import locale 

question_dictionary = {'en': 'Size: ', 'es': 'Tamaño: ', 'ca': 'Mida: '} 

def ask_language(): 
    return input('Language (' + ', '.join(question_dictionary) + '): ') 

def ask_number(language): 
    size = input(question_dictionary[language]) 

    locale.setlocale(locale.LC_ALL, '') 

    if language == 'en': 
     f_size = float(size) 
    else: 
     f_size = locale.atof(size) 

    return f_size 

def move_turn(turtle, size, degrees): 
    turtle.forward(size) 
    turtle.left(degrees) 

def polygon(turtle, size, sides): 
    for _ in range(sides): 
     move_turn(turtle, size, 360/sides) 

def draw_polygon(size): 
    alex = Turtle(shape='turtle') 
    alex.speed('slowest') # 'slowest' == 1 
    polygon(alex, size, 5) 

draw_polygon(ask_number(ask_language())) 

window = Screen() 

window.exitonclick()  
관련 문제