Python 如何使用函数压缩代码?

Python 如何使用函数压缩代码?,python,Python,对编程来说相当陌生&我知道我可以用一个函数来压缩代码,因为它主要是我写的文本,我已经用了很多行了。我一直在玩弄定义自己的函数等等,但我失败了。如果我想要加粗和字体,有人知道我如何制作一个包含字体大小的函数吗 这是我最近的一次尝试,但没有成功: def style(x, y, z,): return Entry(Point(x,y),"z") 下面是我的实际代码 # create the window to hold the contents win = GraphWin("Text &a

对编程来说相当陌生&我知道我可以用一个函数来压缩代码,因为它主要是我写的文本,我已经用了很多行了。我一直在玩弄定义自己的函数等等,但我失败了。如果我想要加粗和字体,有人知道我如何制作一个包含字体大小的函数吗

这是我最近的一次尝试,但没有成功:

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)

这不是一个完美的解决方案,但它只是给你一个想法。您可以制作一个函数来为您构建对象,如下所示:

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)
使用


调用函数cheers时替换您的值

所以这不是免费的编码服务。你必须自己尝试解决这个问题。如果你不能让它工作,张贴你尝试了什么,我们会帮你解决它。对不起!在我最近的一次尝试中添加,我根本不想将其作为免费编码服务使用,如果遇到这种情况,很抱歉!该功能与您尝试执行的操作有何关联?它不调用文本,也不调用setFace、setSize、setStyle等。你可能应该阅读Python/编程教程,比如这本:是的,那是我的第八次尝试,我开始尝试使用这些,但都没有效果,所以我有点认为setSize等不起作用。哦,哇,这很有意义,你真是太棒了!!!谢谢你这个聪明的主意,我会玩这个代码。非常感谢你!
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(.........)