Python-选择所需选项时有关数组的问题

时间:2018-11-27 01:31:45

标签: python

我需要我当前正在编写的代码的帮助。这是我的代码的一行:

$query1 = mysqli_query($conn, "SELECT * FROM services") OR die("Error: ".mysqli_error($conn));
while($row1 = mysqli_fetch_array($query1)){
    echo"<p>".$row2['serviceName']."</p>";
    //choose only the images belonging to the service
    $query2 = mysqli_query($conn, "SELECT * FROM gallery WHERE `service_id`=".$row1['id']) OR die("Error: ".mysqli_error($conn));

    while($row2 = mysqli_fetch_array($query2)){
        echo"
          <div class='col-md-3'>
            <div class='galleryCard'>
              <a href='image/".$row1['pictureImage']."'><img class='img img-responsive' src='image/".$row1['pictureImage']."' width='100%'></a>
              <p class='galleryText'>".$row1['pictureDesc']."</p>
            </div>
          </div>";
    }
}

这是我用于选择所需选项的代码。其中,o代表橙,r代表萝卜,w代表芥末,c代表薯条,cho代表巧克力。我要允许用户选择所需的选项,例如当他们输入o时,橙色计数器应增加1。我只是不确定它的工作方式。

谢谢。

4 个答案:

答案 0 :(得分:0)

考虑使用dictionary。基本布局将遵循与以下类似的结构,您可以在其中遍历多个用户选择并执行相同的def assign_expense(target={'fly':{'before':'US', 'after':'JP'}, 'walk':{'before':'blockA', 'after':'blockB'}) method, before, after = abstract_param_from_json(target) if method='fly': if before=='US', after=='JP': func_fly_US_JP elif before=='MXN', after=='CAD': func_fly_MX_CAD if method='walk': if before=='blockA', after=='blockB': func_A_to_B if before=='blockC', after=='blockZ': func_C_to_Z

if/else

答案 1 :(得分:0)

字典很适合。

SELECT c.name, COUNT(*) AS RentalCount
FROM film_category fc JOIN
     category c
     ON c.category_id = fc.category_id JOIN
     inventory i
     ON i.film_id = fc.film_id JOIN
     rental r
     ON r.inventory_id = i.inventory_id
GROUP BY c.name
ORDER BY RentalCount DESC
LIMIT 1;

答案 2 :(得分:0)

考虑使用foreach(var date in AvailableDates) { Dates.Add(date.Schedual.ToString("dd/MMMM/yyyy hh:mm tt"),date.Appt_Id); } // selectlist => list,value,id ViewBag.AptDates = new SelectList(Dates); 来计数对象。

collections.Counter

答案 3 :(得分:0)

您使用的基于列表的数据结构称为属性列表(或“ plist”)。它将键与值相关联。这些在Lisp中很常见,但是Python通常为此使用dict。字典是基于哈希表的,哈希表比扫描列表要快,特别是如果列表很长。 Plist确实具有某些优势,但是它们大部分不适用于Python。仍然值得了解它们的工作方式。

这里有一些示例,说明如何在给定plist中的键的情况下增加值。

>>> subjects = ["o",0,"r",0,"w",0,"c",0,"chi",0]
>>> subjects[subjects.index("w") + 1] += 1
>>> subjects
['o', 0, 'r', 0, 'w', 1, 'c', 0, 'chi', 0]
>>> subjects[subjects.index("chi") + 1] += 1
>>> subjects
['o', 0, 'r', 0, 'w', 1, 'c', 0, 'chi', 1]

.index()方法找到列表中第一个元素的索引,该索引等于其参数。紧随其后的是值,所以+ 1。您只需要使用那一部分来查找值。

>>> subjects[subjects.index("chi") + 1] += 2
>>> subjects
['o', 0, 'r', 0, 'w', 1, 'c', 0, 'chi', 3]
>>> subjects[subjects.index("chi") + 1]
3