鱼C论坛

 找回密码
 立即注册
查看: 823|回复: 4

[已解决]求助

[复制链接]
发表于 2023-8-18 16:04:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
帮忙修改
class Meet:
    nums = 0

class Egg(Meet):
    name = "鸡蛋"
    price = 1

class Beef(Meet):
    name = "牛肉"
    price = 25

class Mutoon(Meet):
    name = "羊肉"
    price = 30

class Vegetable:
    nums = 0

class Onion(Vegetable):
    name = "洋葱"
    price = 2

class Tomato(Vegetable):
    name = "番茄"
    price = 2

class Potato(Vegetable):
    name = "土豆"
    price = 3

class Radish(Vegetable):
    name = "萝卜"
    price = 3

class chicken(Vegetable):
    name = "鸡肉"
    price = 6

class bread(Vegetable):
    name = "面包"
    price = 4

class Menu:
    def order(self):
        self.x = []
        print("客官想要吃点什么?")

        dishes = input("1.洋葱炒牛肉;2.洋葱炒羊肉;3.煎蛋;4.番茄炒蛋;5.土豆萝卜炖羊肉;6.汉堡:")
        dishes = dishes.split()

        while dishes:
            dish = dishes.pop(0)
            
            if dish == '1':
                onion = Onion()
                onion.num = 1
                beef = Beef()
                beef.num = 1
                self.x.extend([beef, onion])

            if dish == '2':
                onion = Onion()
                onion.num = 1
                mutoon = Mutoon()
                mutoon.num = 1
                self.x.extend([mutoon, onion])

            if dish == '3':
                egg = Egg()
                egg.num = 2
                self.x.append(egg)

            if dish == '4':
                tomato = Tomato()
                tomato.num = 2
                egg = Egg()
                egg.num = 3
                self.x.extend([tomato, egg])

            if dish == '5':
                potato = Potato()
                potato.num = 2
                radish = Radish()
                radish.num = 1
                mutoon = Mutoon()
                mutoon.num = 2
                self.x.extend([potato, radish, mutoon])

            if dish == '6':
                potato = chicken()
                chicken.num = 1
                radish = bread()
                radish.num = 1
                self.x.extend([radish,chicken])     
            
    def pay(self):
        total = 0
        for each in self.x:
            print(each.name, each.price, "*", each.num)
            total += each.price * each.num

        print(f"感谢惠顾,您一共消费了 {total} 元,欢迎下次光临~")
最佳答案
2023-8-18 16:06:39
下面是修改后的代码:
class Meat:
    nums = 0

class Egg(Meat):
    name = "鸡蛋"
    price = 1

class Beef(Meat):
    name = "牛肉"
    price = 25

class Mutton(Meat):
    name = "羊肉"
    price = 30

class Vegetable:
    nums = 0

class Onion(Vegetable):
    name = "洋葱"
    price = 2

class Tomato(Vegetable):
    name = "番茄"
    price = 2

class Potato(Vegetable):
    name = "土豆"
    price = 3

class Radish(Vegetable):
    name = "萝卜"
    price = 3

class Chicken(Vegetable):
    name = "鸡肉"
    price = 6

class Bread(Vegetable):
    name = "面包"
    price = 4

class Menu:
    def order(self):
        self.x = []
        print("客官想要吃点什么?")
        dishes = input("1.洋葱炒牛肉;2.洋葱炒羊肉;3.煎蛋;4.番茄炒蛋;5.土豆萝卜炖羊肉;6.汉堡:")
        dishes = dishes.split()
        while dishes:
            dish = dishes.pop(0)
            if dish == '1':
                onion = Onion()
                onion.num = 1
                beef = Beef()
                beef.num = 1
                self.x.extend([beef, onion])
            elif dish == '2':
                onion = Onion()
                onion.num = 1
                mutton = Mutton()
                mutton.num = 1
                self.x.extend([mutton, onion])
            elif dish == '3':
                egg = Egg()
                egg.num = 2
                self.x.append(egg)
            elif dish == '4':
                tomato = Tomato()
                tomato.num = 2
                egg = Egg()
                egg.num = 3
                self.x.extend([tomato, egg])
            elif dish == '5':
                potato = Potato()
                potato.num = 2
                radish = Radish()
                radish.num = 1
                mutton = Mutton()
                mutton.num = 2
                self.x.extend([potato, radish, mutton])
            elif dish == '6':
                chicken = Chicken()
                chicken.num = 1
                bread = Bread()
                bread.num = 1
                self.x.extend([bread, chicken])

    def pay(self):
        total = 0
        for each in self.x:
            print(each.name, each.price, "*", each.num)
            total += each.price * each.num
        print(f"感谢惠顾,您一共消费了 {total} 元,欢迎下次光临~")

在这个修改后的代码中,主要修改了以下几点:

· 将 Mutoon 修改为正确的拼写 Mutton
· 将 chicken 修改为 Chicken,将 bread 修改为 Bread
· 添加了适当的缩进以形成更清晰的代码结构。

希望这个修改后的代码能满足你的需求!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-18 16:05:22 | 显示全部楼层
这段代码存在一些问题。首先,在类的定义中, Meet 和 Vegetable 的 nums 属性应该是 num ,因为在后面的代码中使用了 num 来表示数量。其次,在 Menu 类的 order 方法中, chicken 和 bread 类名应该首字母小写,以与类定义保持一致。最后,在 Menu 类的 pay 方法中,应该将 each.num 改为 each.nums ,以与类定义保持一致。

下面是修改后的代码:
class Meet:
    num = 0

class Egg(Meet):
    name = "鸡蛋"
    price = 1

class Beef(Meet):
    name = "牛肉"
    price = 25

class Mutoon(Meet):
    name = "羊肉"
    price = 30

class Vegetable:
    num = 0

class Onion(Vegetable):
    name = "洋葱"
    price = 2

class Tomato(Vegetable):
    name = "番茄"
    price = 2

class Potato(Vegetable):
    name = "土豆"
    price = 3

class Radish(Vegetable):
    name = "萝卜"
    price = 3

class Chicken(Vegetable):
    name = "鸡肉"
    price = 6

class Bread(Vegetable):
    name = "面包"
    price = 4

class Menu:
    def order(self):
        self.x = []
        print("客官想要吃点什么?")

        dishes = input("1.洋葱炒牛肉;2.洋葱炒羊肉;3.煎蛋;4.番茄炒蛋;5.土豆萝卜炖羊肉;6.汉堡:")
        dishes = dishes.split()

        while dishes:
            dish = dishes.pop(0)

            if dish == '1':
                onion = Onion()
                onion.num = 1
                beef = Beef()
                beef.num = 1
                self.x.extend([beef, onion])

            if dish == '2':
                onion = Onion()
                onion.num = 1
                mutoon = Mutoon()
                mutoon.num = 1
                self.x.extend([mutoon, onion])

            if dish == '3':
                egg = Egg()
                egg.num = 2
                self.x.append(egg)

            if dish == '4':
                tomato = Tomato()
                tomato.num = 2
                egg = Egg()
                egg.num = 3
                self.x.extend([tomato, egg])

            if dish == '5':
                potato = Potato()
                potato.num = 2
                radish = Radish()
                radish.num = 1
                mutoon = Mutoon()
                mutoon.num = 2
                self.x.extend([potato, radish, mutoon])

            if dish == '6':
                chicken = Chicken()
                chicken.num = 1
                bread = Bread()
                bread.num = 1
                self.x.extend([bread, chicken])
    
    def pay(self):
        total = 0
        for each in self.x:
            print(each.name, each.price, "*", each.num)
            total += each.price * each.num

        print(f"感谢惠顾,您一共消费了 {total} 元,欢迎下次光临~")

希望对你有帮助!如果还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-18 16:06:19 | 显示全部楼层
class Meet:
    nums = 0

class Egg(Meet):
    def __init__(self):
        self.name = "鸡蛋"
        self.price = 1

class Beef(Meet):
    def __init__(self):
        self.name = "牛肉"
        self.price = 25

class Mutoon(Meet):
    def __init__(self):
        self.name = "羊肉"
        self.price = 30

class Vegetable:
    nums = 0

class Onion(Vegetable):
    def __init__(self):
        self.name = "洋葱"
        self.price = 2

class Tomato(Vegetable):
    def __init__(self):
        self.name = "番茄"
        self.price = 2

class Potato(Vegetable):
    def __init__(self):
        self.name = "土豆"
        self.price = 3

class Radish(Vegetable):
    def __init__(self):
        self.name = "萝卜"
        self.price = 3

class Chicken(Vegetable):  # 修改类名为大写开头的驼峰命名法
    def __init__(self):
        self.name = "鸡肉"
        self.price = 6

class Bread(Vegetable):  # 修改类名为大写开头的驼峰命名法
    def __init__(self):
        self.name = "面包"
        self.price = 4

class Menu:
    def __init__(self):  # 添加构造函数
        self.x = []

    def order(self):
        print("客官想要吃点什么?")
        dishes = input("1.洋葱炒牛肉;2.洋葱炒羊肉;3.煎蛋;4.番茄炒蛋;5.土豆萝卜炖羊肉;6.汉堡:")
        dishes = dishes.split()

        while dishes:
            dish = dishes.pop(0)
            
            if dish == '1':
                onion = Onion()
                onion.nums = 1
                beef = Beef()
                beef.nums = 1
                self.x.extend([beef, onion])

            if dish == '2':
                onion = Onion()
                onion.nums = 1
                mutton = Mutoon()  # 修改变量名为正确的拼写
                mutton.nums = 1
                self.x.extend([mutton, onion])

            if dish == '3':
                egg = Egg()
                egg.nums = 2
                self.x.append(egg)

            if dish == '4':
                tomato = Tomato()
                tomato.nums = 2
                egg = Egg()
                egg.nums = 3
                self.x.extend([tomato, egg])

            if dish == '5':
                potato = Potato()
                potato.nums = 2
                radish = Radish()
                radish.nums = 1
                mutton = Mutoon()
                mutton.nums = 2
                self.x.extend([potato, radish, mutton])

            if dish == '6':
                chicken = Chicken()
                chicken.nums = 1
                bread = Bread()
                bread.nums = 1
                self.x.extend([bread, chicken])  

    def pay(self):
        total = 0
        for each in self.x:
            print(each.name, each.price, "*", each.nums)
            total += each.price * each.nums

        print(f"感谢惠顾,您一共消费了 {total} 元,欢迎下次光临~")

如果回答对你有帮助,请给我一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-18 16:06:39 | 显示全部楼层    本楼为最佳答案   
下面是修改后的代码:
class Meat:
    nums = 0

class Egg(Meat):
    name = "鸡蛋"
    price = 1

class Beef(Meat):
    name = "牛肉"
    price = 25

class Mutton(Meat):
    name = "羊肉"
    price = 30

class Vegetable:
    nums = 0

class Onion(Vegetable):
    name = "洋葱"
    price = 2

class Tomato(Vegetable):
    name = "番茄"
    price = 2

class Potato(Vegetable):
    name = "土豆"
    price = 3

class Radish(Vegetable):
    name = "萝卜"
    price = 3

class Chicken(Vegetable):
    name = "鸡肉"
    price = 6

class Bread(Vegetable):
    name = "面包"
    price = 4

class Menu:
    def order(self):
        self.x = []
        print("客官想要吃点什么?")
        dishes = input("1.洋葱炒牛肉;2.洋葱炒羊肉;3.煎蛋;4.番茄炒蛋;5.土豆萝卜炖羊肉;6.汉堡:")
        dishes = dishes.split()
        while dishes:
            dish = dishes.pop(0)
            if dish == '1':
                onion = Onion()
                onion.num = 1
                beef = Beef()
                beef.num = 1
                self.x.extend([beef, onion])
            elif dish == '2':
                onion = Onion()
                onion.num = 1
                mutton = Mutton()
                mutton.num = 1
                self.x.extend([mutton, onion])
            elif dish == '3':
                egg = Egg()
                egg.num = 2
                self.x.append(egg)
            elif dish == '4':
                tomato = Tomato()
                tomato.num = 2
                egg = Egg()
                egg.num = 3
                self.x.extend([tomato, egg])
            elif dish == '5':
                potato = Potato()
                potato.num = 2
                radish = Radish()
                radish.num = 1
                mutton = Mutton()
                mutton.num = 2
                self.x.extend([potato, radish, mutton])
            elif dish == '6':
                chicken = Chicken()
                chicken.num = 1
                bread = Bread()
                bread.num = 1
                self.x.extend([bread, chicken])

    def pay(self):
        total = 0
        for each in self.x:
            print(each.name, each.price, "*", each.num)
            total += each.price * each.num
        print(f"感谢惠顾,您一共消费了 {total} 元,欢迎下次光临~")

在这个修改后的代码中,主要修改了以下几点:

· 将 Mutoon 修改为正确的拼写 Mutton
· 将 chicken 修改为 Chicken,将 bread 修改为 Bread
· 添加了适当的缩进以形成更清晰的代码结构。

希望这个修改后的代码能满足你的需求!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-18 16:15:48 | 显示全部楼层
选6不能运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 18:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表