From d95c05ebf93d2adc30cab3cdd9a779d1d70d0503 Mon Sep 17 00:00:00 2001
From: Irene-Maxine <114802521+Irene-Maxine@users.noreply.github.com>
Date: Tue, 15 Oct 2024 00:33:54 +0800
Subject: [PATCH] =?UTF-8?q?python=20online=20=E5=8A=A0=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
时间戳转日期
enumerate函数
---
boards/default_src/python/blocks/control.js | 14 ++++++++-
boards/default_src/python/blocks/lists.js | 30 +++++++++++++++++++
.../default_src/python/generators/control.js | 9 +++++-
boards/default_src/python/generators/lists.js | 7 +++++
.../default_src/python_pyodide/template.xml | 19 ++++++++++++
common/msg/blockly/en.js | 4 +++
common/msg/blockly/zh-hans.js | 4 +++
common/msg/blockly/zh-hant.js | 4 +++
8 files changed, 89 insertions(+), 2 deletions(-)
diff --git a/boards/default_src/python/blocks/control.js b/boards/default_src/python/blocks/control.js
index 989f8741..b79f20c1 100644
--- a/boards/default_src/python/blocks/control.js
+++ b/boards/default_src/python/blocks/control.js
@@ -1032,4 +1032,16 @@ export const get_unique_identifier = {
};
// export const base_type = controls_type;
-// export const controls_TypeLists = controls_typeLists;
\ No newline at end of file
+// export const controls_TypeLists = controls_typeLists;
+
+export const datetime_fromtimestamp = {
+ init: function () {
+ this.setColour(LOOPS_HUE);
+ this.appendValueInput('VAR')
+ .appendField(Blockly.Msg.MIXLY_RTC_TIMESTAMP);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.MIXLY_TIMESTAMP_TO_DATA);
+ this.setInputsInline(true);
+ this.setOutput(true, Number);
+ }
+};
\ No newline at end of file
diff --git a/boards/default_src/python/blocks/lists.js b/boards/default_src/python/blocks/lists.js
index 554cb264..5899e0d1 100644
--- a/boards/default_src/python/blocks/lists.js
+++ b/boards/default_src/python/blocks/lists.js
@@ -794,3 +794,33 @@ export const lists_insert_value2 = lists_insert_value
export const lists_remove_at2 = lists_remove_at
export const list_tolist2 = list_tolist;
+
+export const ENUMERATE ={
+ init: function () {
+ this.setColour(LISTS_HUE);
+ this.appendValueInput('VAR')
+ .appendField(Blockly.Msg.blockpy_USE_LIST);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.MIXLY_TO_INDEX_SEQUENCE);
+ // this.appendValueInput('VAR_N')
+ // .appendField(Blockly.Msg.MIXLY_INDEX+Blockly.Msg.MIXLY_STARTSWITH);
+ this.setInputsInline(true);
+ this.setOutput(true, Number);
+ this.setTooltip(Blockly.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP);
+ }
+};
+
+export const enumerate = {
+ init: function () {
+ this.setColour(LISTS_HUE);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.blockpy_USE_LIST);
+ this.appendValueInput('LIST');
+ this.appendValueInput('VALUE')
+ .appendField(Blockly.Msg.MIXLY_TO_INDEX_SEQUENCE)
+ .appendField(Blockly.Msg.MIXLY_INDEX+Blockly.Msg.MIXLY_STARTSWITH);
+ this.setInputsInline(true);
+ this.setOutput(true);
+ this.setTooltip(Blockly.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP);
+ }
+};
\ No newline at end of file
diff --git a/boards/default_src/python/generators/control.js b/boards/default_src/python/generators/control.js
index 6b99d822..74ff1781 100644
--- a/boards/default_src/python/generators/control.js
+++ b/boards/default_src/python/generators/control.js
@@ -278,4 +278,11 @@ export const get_unique_identifier = function (_, generator) {
}
// ok
-export const controls_repeat = controls_repeat_ext;
\ No newline at end of file
+export const controls_repeat = controls_repeat_ext;
+
+export const datetime_fromtimestamp = function(_,generator){
+ generator.definitions_['import_datatime'] = 'import datatime';
+ var ts = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
+ var code = 'datatime.datatime.fromtimestamp(' + ts + ')';
+ return [code, generator.ORDER_ATOMIC];
+}
\ No newline at end of file
diff --git a/boards/default_src/python/generators/lists.js b/boards/default_src/python/generators/lists.js
index 7b89c1f8..439599a7 100644
--- a/boards/default_src/python/generators/lists.js
+++ b/boards/default_src/python/generators/lists.js
@@ -253,4 +253,11 @@ export const list_tolist = function (_, generator) {
export const list_tolist2 = function (_, generator) {
var str = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC) || '0'
return [str + '.tolist()', generator.ORDER_ATOMIC];
+}
+
+export const enumerate = function (_, generator) {
+ var varName = generator.valueToCode(this, 'LIST', generator.ORDER_ADDITIVE) || 'mylist';
+ var argument = generator.valueToCode(this, 'VALUE', generator.ORDER_ASSIGNMENT) || '0';
+ var code = 'enumerate(' +varName+',start='+ argument + ')';
+ return [code, generator.ORDER_ATOMIC];
}
\ No newline at end of file
diff --git a/boards/default_src/python_pyodide/template.xml b/boards/default_src/python_pyodide/template.xml
index 2ba0a713..77c2ccb9 100644
--- a/boards/default_src/python_pyodide/template.xml
+++ b/boards/default_src/python_pyodide/template.xml
@@ -213,6 +213,13 @@
+
+
+
+ 18029
+
+
+
@@ -894,6 +901,18 @@
+
+
+
+ mylist
+
+
+
+
+ 0
+
+
+
diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js
index 5dd822a6..c8ddd9d5 100644
--- a/common/msg/blockly/en.js
+++ b/common/msg/blockly/en.js
@@ -3754,4 +3754,8 @@ En.MIXLY_VARIABLE_UNPACK = "Unpack";
En.MIXLY_TO_HEX = "Convert hexadecimal characters";
En.MIXLY_PYTHON_TOOLTIP_TOHEX = "Converts a value to a hexadecimal character";
En.MIXLY_RTC_GET_TIME_STR = "RTC gets the time string";
+En.MIXLY_TIMESTAMP_TO_DATA ="convert to data";
+En.MIXLY_TO_INDEX_SEQUENCE = "sequence number and content combine into an index sequence";
+En.MIXLY_INDEX = "index";
+En.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "Combine all the items and ordinals of the list into an index sequence, for example (0,'A') into one index sequence";
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index b8c503b2..cea1e3a2 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -3902,4 +3902,8 @@ ZhHans.MIXLY_VARIABLE_UNPACK = "解包";
ZhHans.MIXLY_TO_HEX = "转16进制字符";
ZhHans.MIXLY_PYTHON_TOOLTIP_TOHEX = "将一个值转换为一个16进制字符";
ZhHans.MIXLY_RTC_GET_TIME_STR = "RTC 获取时间字符串";
+ZhHans.MIXLY_TIMESTAMP_TO_DATA ="转化为日期";
+ZhHans.MIXLY_TO_INDEX_SEQUENCE = "的序号和内容组合为索引序列";
+ZhHans.MIXLY_INDEX = "序号";
+ZhHans.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "将列表的所有项和序号组合为索引序列,例如(0,'A')为一个索引序列";
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js
index 65dbf0dc..06d1a120 100644
--- a/common/msg/blockly/zh-hant.js
+++ b/common/msg/blockly/zh-hant.js
@@ -3757,4 +3757,8 @@ ZhHant.MIXLY_VARIABLE_UNPACK = "解包";
ZhHant.MIXLY_TO_HEX = "轉16進制字符";
ZhHant.MIXLY_PYTHON_TOOLTIP_TOHEX = "將一個值轉換為一個16進制字符";
ZhHant.MIXLY_RTC_GET_TIME_STR = "RTC 獲取時間字符串";
+ZhHant.MIXLY_TIMESTAMP_TO_DATA ="轉化爲日期";
+ZhHant.MIXLY_TO_INDEX_SEQUENCE = "的序號和內容組合為索引序列";
+ZhHant.MIXLY_INDEX = "序號";
+ZhHant.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "將列表的所有項和序號組合為索引序列,例如(0,'A')為一個索引序列";
})();
\ No newline at end of file