使用嵌套循环(Javascript,node js,readlinesync)调用每次迭代

时间:2019-03-10 20:05:59

标签: javascript node.js

尝试解决此问题,但我不知道如何使用console.log显示每个迭代(十二个月中的每个)。

问题是:编写一个使用嵌套循环来收集数据和 计算几年中的平均降雨量。 该程序应首先询问年数。 外部循环每年重复一次。 内循环将迭代十二次,每月一次。 内循环的每次迭代都将询问用户英寸的英寸 该月的降雨量。在所有迭代之后,程序应 显示月份数,降雨量的总英寸数以及 整个期间每月的平均降雨量。

这是我到目前为止所拥有的:

from itertools import cycle
from PyQt5 import QtCore, QtGui, QtWidgets

class TrafficLight(QtWidgets.QMainWindow):
    def __init__(self,parent = None):
        super(TrafficLight, self).__init__(parent)
        self.setWindowTitle("TrafficLight ")
        self.traffic_light_colors = cycle([
            QtGui.QColor('red'),
            QtGui.QColor('yellow'),
            QtGui.QColor('green')
        ])
        self._current_color = next(self.traffic_light_colors)
        timer = QtCore.QTimer(
            self, 
            interval=2000, 
            timeout=self.change_color
        )
        timer.start()
        self.resize(200, 400)

    @QtCore.pyqtSlot()
    def change_color(self):
        self._current_color = next(self.traffic_light_colors)
        self.update()

    def paintEvent(self, event):
        p = QtGui.QPainter(self)
        p.setBrush(self._current_color)
        p.setPen(QtCore.Qt.black)
        p.drawEllipse(self.rect().center(), 50, 50)

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = TrafficLight()
    w.show() 
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:0)

缺少的一点是如何计算循环内的值之和。看一下这段代码,变量totalInchesOfRainaverageRainfallPerMonth将计算出这些值。

var readlineSync= require('readline-sync');

var years = readlineSync.questionInt('Enter the number of years: ');

var totalInchesOfRain = 0;
for (i=0; i < years ; i++) {
    for(j=0; j<11; j++){
        var monthlyRainFall = readlineSync.questionInt('How many inches of rainfall was there this month? ');

        totalInchesOfRain += monthlyRainFall;
    }
}

var averageRainfallPerMonth = totalInchesOfRain / (years * 12);