有没有办法在以后的代码中使用代码输出结果?

2024-05-14 13:35:06 发布

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

我是一个非常新的Python程序员,只有大约5小时的入门经验。 我花了大约4个小时学习基础知识,并进行了一些练习。我正试图创建一个模拟来练习我的编码技能,但我不知道如何做到这一点,我已经尝试查找它,但没有答案。我的模拟是关于多个厨师,他们有不同的属性,比如他们的名字、食谱和等级。对于他们的名字和菜谱,我使用字符串,效果很好,尽管评级我尝试使用“导入随机”的东西来生成一个数字1-5,以给厨师一个特定的评级。然后,我想做的是使用生成的数字(正在打印)添加到他们的评级中,为了简单起见,很可能是以字符串的形式。我有两个不同的文件,“Chef”文件是主文件,所有不同类型的厨师都将从他们自己的特定文件中导入。就我而言,目前我已经创造了一位意大利厨师

两者的代码都是: (与我有问题的人)厨师:

from Italian import Italian
import random
for x in range(1):
    print(random.randint(1, 5))
    if print(5):
        rating = 5/5
    elif print(4):
        rating = 4/5
    elif print(3):
        rating = 3/5
    elif print(2):
        rating = 2/5
    elif print(1):
        rating = 1/5
    elif print(0):
        rating = 0/5
    else:
        print("Error")

italian_chef = Italian("Marco", "dough, cheese, pepperoni", "dough, cheese", "pasta, pasta sauce", 
"meatballs, sauce", "bread", + rating)

另一个是意大利人:

    class Italian:

        def __init__(self, name, pepperoni_pizza_recipe, cheese_pizza_recipe, pasta_recipe,         
        meatball_recipe, bread_stick_recipe, rating):
            self.name = name
            self.pepperoni_pizza_recipe = pepperoni_pizza_recipe
            self.cheese_pizza_recipe = cheese_pizza_recipe
            self.pasta_recipe = pasta_recipe
            self.meatball_recipe = meatball_recipe
            self.bread_stick_recipe = bread_stick_recipe
            self.rating = rating

编辑说:

ErrorTraceback (most recent call last):
  File "C:/Users/Name/PycharmProjects/Chefs/Chef.py", line 24, in <module>
    "bread", + rating)
NameError: name 'rating' is not defined
2
5
4
3
2
1
0

当我跑的时候

还有,只是一件小事,我现在已经解决了这个问题,但是是否有一种方法可以在每次运行特定程序时保存该数字,从而使我能够对评分进行平均,从而给出一个新评分将发生变化的总体评分


Tags: 文件nameselfrecipe数字printratingelif
2条回答

问题是您正在使用打印功能。您需要将选项存储到如下变量中:

from Italian import Italian
import random
for x in range(1):
    num = random.randint(1, 5)
    if num == 5:
        rating = 5/5
    elif num == 4:
        rating = 4/5
    elif num == 3:
        rating = 3/5
    elif num == 2:
        rating = 2/5
    elif num == 1:
        rating = 1/5
    elif num == 0:
        rating = 0/5
    else:
        print("Error")

italian_chef = Italian("Marco", "dough, cheese, pepperoni", "dough, cheese", "pasta, pasta sauce", 
"meatballs, sauce", "bread",rating)

如果有帮助,请告诉我

你的代码有几个问题。而不是打印出要保存到变量以供以后使用的随机整数

打印变量不会存储它,因此您希望将其实际保存到变量中。然后,您可以将该整数除以5进行评级

for x in range(1):
    stars = random.randint(1,5)
    ratingFloat = stars/5 # will divide starts by 5 Ex 5/5 = 1.0
    rating = str(stars) + "/5" # Will save a string "5/5" to rating

我想这就是你要问的。 作为将来的参考,你不能这样做

if print(5):
    # do something

这不是python中的比较,它不允许您对输出执行任何操作。您应该在原始代码中执行类似的操作

 if stars == 5:
      # Do something

相关问题 更多 >

    热门问题