处理更新文本和功能参数

2024-06-16 12:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在这个网站上的第一篇文章,希望我能得到一些有价值的见解和提示,关于我的问题,因为我是一个相对noob当谈到编程。我在处理环境中使用Python模式。你知道吗

有人给我布置了一道讲题(老师最终会复习),但我希望能事先解决它。不幸的是我不知道该怎么做。我应该创建一个程序来显示面包,法兰克和热狗的数量,可以用面包和法兰克的数量来制作,我有键盘输入来增加面包和法兰克的数量。你知道吗

目前,我不知道如何在输入键盘输入时更新文本,也不知道如何根据我吃的面包和法兰克肉的数量自动更新热狗的数量。你知道吗

我附上了两张关于这个问题的图片,如果我的解释不清楚的话,这些图片可以消除任何混淆。我还附上了我目前的代码。你知道吗

picture 1picture 2

代码:

    #Variables/Model
    meat = ""
    buns = ""
    dogs = min(12 * meat, 8 * buns)


    def setup():
        size(400,400)


    def draw():
        global meat, buns, dogs
        background(255)
        meat = 0
        buns = 0
        dogs = min(12 * meat, 8 * buns)
        fill(0)
        text("Packages of meat:" + str(meat), 50, 100)
        text("Packages of buns:" + str(buns), 250, 100)
        text("Dogs possibly made:" + str(dogs), 150, 200)


    def make_hotdogs(totalMeat, totalBuns):
        global meat, buns, dogs
        if keyPressed == "f":
            meat += 1
        elif keyPressed == "g":
            meat -= 1
        elif keyPressed == "b":
            buns += 1
        elif keyPressed == "n":
            buns -= 1
        else:
            print("Type b, n, f or g")

Tags: 代码text数量def图片pictureelifdogs
2条回答

已经一个星期了,让我们假设讲座已经开始了,让我们来解决这个问题。我在OP代码中看到的问题是缺乏对基本Python和处理环境的理解。以及未能利用所提供的问题术语。你知道吗

重新编写代码以解决上述问题,并生成在处理环境中运行的可行的野餐计划器:

# Variables/Model

FRANKS_PER_PACKAGE = 12
BUNS_PER_PACKAGE = 8

frank_packages = 0
bun_packages = 0

def setup():
    size(400, 400)
    fill(0)  # black text on a
    background(255)  # white background

def draw():
    hotdogs = make_hotdogs(frank_packages, bun_packages)

    text("Packages of franks: " + str(frank_packages), 50, 100)
    text("Packages of buns: " + str(bun_packages), 250, 100)
    text("Hotdogs possibly made: " + str(hotdogs), 150, 200)

def keyPressed():
    global frank_packages, bun_packages

    if key == "f":
        frank_packages += 1
    elif key == "g":
        if frank_packages > 0:
            frank_packages -= 1
    elif key == "b":
        bun_packages += 1
    elif key == "n":
        if bun_packages > 0:
            bun_packages -= 1

    background(255)  # white out old calculations

def make_hotdogs(p_franks, p_buns):
    return min(p_franks * FRANKS_PER_PACKAGE, p_buns * BUNS_PER_PACKAGE)

除了make_hotdocs(),处理环境为我们调用这些函数。它在程序开始时调用setup();它不断地反复调用draw();每当用户在键盘上键入时,它都调用keyPressed(),并在key变量中按下字母。你知道吗

在Python中,我们只需要在计划更改其值的地方声明global变量,而不需要在打算使用它们的值的地方声明。你知道吗

你永远不会调用你的make_hotdogs()函数,所以你永远不会使用if语句来检查按下了哪个键。你知道吗

您可能需要研究keyPressed()函数。您可以在the reference中找到更多信息。你知道吗

但老实说,如果你感到困惑,也许你应该等老师把课上的一切都解释清楚。你知道吗

相关问题 更多 >