提问人:zangmolk 提问时间:11/11/2023 更新时间:11/17/2023 访问量:16
在 python 中从 Entry 小部件获取指定的格式输入
getting specified format input from Entry widget in python
问:
我想将指定格式(start-stop-dataNumber)的字符串转换为数组。 dataNumber 是从开始到停止的该范围内的数据数。
例如: 输入=“1-10:5” 输出=[1,3,5,7,9]
感谢您的关注
答:
1赞
Tisiphone
11/17/2023
#1
如果我正确理解了你的问题,你可以这样做:
def format_input(input):
parts = input.split(':')
start_stop = parts[0].split('-')
start = int(start_stop[0])
stop = int(start_stop[1])
data_number = int(parts[1])
if start > stop:
return []
# the range is now like this: [start,stop)
# if you want the interval to include the stop: [start,stop]
# use the commented out line
step_size = (stop - 1 - start) / (data_number - 1)
#step_size = (stop - start) / (data_number - 1)
output = [round(start + i * step_size) for i in range(data_number)]
return output
首先解析字符串,然后通过计算必要的步长并将其与输出数组中的第 i 个元素的 i 相乘来生成数组。
评论