簡體   English   中英

具有嵌套結構列表的結構

[英]Structure with List of Nested Structure

我有這個挑戰,我沒有實現如何解決,任何幫助將不勝感激。

所以我需要一個包含嵌套結構列表的結構,這可以在 C 中實現嗎?

用戶將輸入一種動物及其每行的價值,這應該被保存,然后按價值打印 orderer。 這些動物可以有一些 subitens 而 subitens 也有它自己的價值......

是這樣的:

struct item
{
 char *name;
 float value;
}

struct animal
{
 char *name;
 float value;
 struct item;
}

還是結構方法是錯誤的方法?

無論如何,我們可以初始化與給定的輸入一樣多的結構嗎? 謝謝

我試過 arrays,但我似乎不是實現此目標的最佳途徑。

你可以試試我的這個樣本,告訴我它是否有效。

import requests
from dataclasses import dataclass
from typing import Optional, List

class Item:
    def __init__(self, name: str, value: float):
        self.name = name
        self.value = value

class Animal:
    def __init__(self, name: str, value: float, items: Optional[List[Item]] = None):
        self.name = name
        self.value = value
        self.items = items or []

@dataclass
class ani_search:
    user: Optional[User] = None
    name_media: Optional[str] = None
    name_char: Optional[str] = None
    rank: Optional[int] = None
    type: Optional[str] = None
    genre: Optional[list] = None
    id_char: Optional[int] = None
    id_media: Optional[int] = None
    page: Optional[int]= 1
    page_char: Optional[int]= 1
    search_type: Optional[str]= None
    iter = 0

animals = []

while True:
    name = input('Enter the animal name: ')
    if name == 'done':
        break
    value = float(input('Enter the animal value: '))

    animal = Animal(name, value)

    while True:
        item_name = input('Enter the item name (or "done" to finish): ')
        if item_name == 'done':
            break
        item_value = float(input('Enter the item value: '))

        item = Item(item_name, item_value)
        animal.items.append(item)

    animals.append(animal)

for animal in sorted(animals, key=lambda a: a.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM