Создание пошаговой функции для увеличения x через заданные промежутки времени - PullRequest
1 голос
/ 09 октября 2019

Я хотел бы создать пошаговое увеличение x, начиная с 0 и увеличивая на 10 каждые 30 секунд. Я определил время (t) как t = arange (0,120).

Я посмотрел на функцию Хевисайда, но она не соответствовала моим потребностям. Мне нужно, чтобы мой вывод x был одним значением, а не массивом. Извините, если этот вопрос является базовым или неправильно понят - я очень незнаком с питоном.

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Ты имеешь в виду что-то подобное?

import numpy
t=numpy.arange(0,120)
x=numpy.floor(t/30) * 10

Это также можно сделать без всяких недоразумений, используя понимание списка.

import math
t=range(0,120)
x=[math.floor(tx/30) * 10 for tx in t]

Или традиционный цикл в этом отношении.

import math
x=[]
t=range(0,120)
for tx in t:
    x.append(math.floor(tx/30) * 10)
0 голосов
/ 09 октября 2019

Чтобы вы могли установить значение от n[0] до 0.29, n должен быть массивом с чем-то уже в позиции 0.

n = [0.50] #already populated list
n[0] = 0.29

n = [0,29]

Кроме того, вы можете инициализировать список с 0,29 в качестве первого значения.

n = [0.29]

n = [0,29]


Что касается вашего второго вопроса, мы могли бы использовать for loop

import time #module used for time functions

for x in range(0, 120, 10): #defined a range of x (0,120) with a step of 10
    print(x)
    time.sleep(30) #wait 30 secs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...