目前正在学习python。通常是一个C ++人。
if wallpaper == "Y":
charge = (70)
print ("You would be charged £70")
wallpaperList.append(charge)
elif wallpaper == "N" :
charge = (0)
else:
wallPaper ()
surfaceArea
totalPapers = 0
for item in range (len(wallpaperList)):
totalPapers += wallpaperList[item]
我正在尝试为if语句执行for循环。
在c ++中,这只是一个简单的
for (I=0; i<pRooms; i++){
}
我试图在for循环中添加上面的代码,但我似乎失败了。
由于
答案 0 :(得分:4)
Python循环迭代迭代中的所有内容:
for item in wallpaperList:
totalPapers += item
在现代C ++中,这类似于:
std::vector<unsigned int> wallpaperList;
// ...
for(auto item: wallpaperList) {
totalPapers += item
}
您也可以使用sum
功能:
cost = sum(wallpaperList)
如果每次充电都是70
,为什么不进行乘法?
while wallPaper == 'Y':
# ...
# Another satisfied customer!
i += 1
cost = i * 70
答案 1 :(得分:2)
对于for
循环的完全等效内容,请使用range
:
for (i=0; i<pRooms; i++){ # C, C++
}
for i in range(pRooms): # Python
...
两个循环遍历值0
到pRooms-1
。但python为您提供了其他选择。您可以在不使用索引的情况下迭代列表的元素:
for room in listOfRooms:
if room.wallpaper == "Y":
...
列表理解也很好。如果您不关心代码中的print
调用,则可以使用以下内容计算成本:
totalPapers = sum(70 for room in listOfRooms if room.wallpaper == "Y")