我如何使用函数来压缩我的代码?

时间:2017-05-25 11:25:38

标签: python

相当新的编程和我知道我可以使用一个函数来压缩这个代码,它只是主要是文本即时编写,而且我已经使用了很多行。我已经玩过定义自己的功能等,但我失败了。任何人都知道我如何制作一个包括像字体大小的功能,如果我想要粗体和字体面对???

这是我最近的尝试 - 但它没有用:

def style(x, y, z,):
  return Entry(Point(x,y),"z") 

以下是我的实际代码。

# create the window to hold the contents
win = GraphWin("Text & Shapes Frenzy", 500, 500)
win.setBackground("Yellow")

#Setting the Title Screen:
title=Text(Point(400,250),"Text & Shapes Frenzy")
title.setFace('arial')
title.setSize(30)
title.setStyle('bold')
title.setFill('White')
title.draw(win)

#Mini-Heading
subheading=Text(Point(400,290), "Click to continue!")
subheading.setFace('courier')
subheading.setSize(22)
subheading.setFill('Blue')
subheading.draw(win)

message=Text(Point(400,50),"""Each click on the next page, adds a new 
shape or text!""")
message.setFace('arial')
message.setSize(24)
message.setStyle('bold')
message.setFill('Red')
message.draw(win)

2 个答案:

答案 0 :(得分:2)

使用

def create_title(x,y,text,face,size,style,fill):
    title=Text(Point(x,y),text)
    title.setFace(face)
    title.setSize(size)
    title.setStyle(style)
    title.setFill(fill)
    title.draw(win)
    return title

title=condense_funtion(400,250,"Text & Shapes Frenzy",.........)
subheading=condense_funtion(.........)
message=condense_funtion(.........)

在调用函数欢呼时替换你的值!

答案 1 :(得分:0)

这不是一个完美的解决方案,但它只是给你一个想法。您可以创建一个为您构造对象的函数:

def set_obj(x=None, y=None, text=None, face=None, size=None, style=None, fill=None, background=None):
    myobj = Text(Point(x,y), text)
    if face:
        myobj.setFace(face)
    if size:
        myobj.setSize(size)
    ...

    return myobj

message = set_obj(x=400, y=500, text='bla bla', face='arial', size=24, style='bold', fill='Red', background=None)