Есть ли способ использовать ваш результат вывода кода внутри вашего кода позже? - PullRequest
0 голосов
/ 09 апреля 2020

Я очень новый программист в Python, у которого всего лишь около 5 часов опыта с начальными вещами. Я провел около 4 часов, изучая основы, и я практиковал некоторые из них. Я пытаюсь создать симуляцию, чтобы практиковать свои навыки кодирования, но я не знаю, как это сделать, и я пытался найти ее, но ответов не было. Моя симуляция про нескольких поваров, у которых разные атрибуты, такие как имя, рецепты и рейтинг. Для их имени и рецептов это работает нормально, так как я использую строки, хотя оценки, которые я пытаюсь использовать, «импортировать случайные» вещи, чтобы сгенерировать число 1 - 5, чтобы дать шеф-повару определенный рейтинг. Тогда я хочу использовать сгенерированное число, которое печатается, чтобы добавить к их рейтингу, скорее всего, в строке для простоты. У меня есть два разных файла, файл "Chef", который является основным файлом, в который будут импортированы все типы поваров из их собственного указанного файла c. В моем случае в настоящее время я создал одного, итальянского шеф-повара.

Коды для обоих: (тот, с которым у меня проблемы) Шеф-повар:

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

при запуске.

Кроме того, немного, я сейчас исправил это, но будет ли способ сохранить число каждый раз при запуске указанной программы c, что позволило бы мне совместно усреднять оценки, чтобы получить общую оценку, в которой будет изменяться новая оценка?

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Есть пара проблем с вашим кодом. Вместо вывода случайного целого числа вы хотите сохранить его в переменной для последующего использования.

Печать переменной не сохраняет ее, поэтому вы хотите сохранить ее в переменной. Затем вы можете разделить это целое число на 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
1 голос
/ 09 апреля 2020

Проблема в том, что вы используете функцию печати. Вам нужно сохранить выбор в переменную, подобную этой:

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)

Дайте мне знать, если это помогло!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...