こんにちは、MicroPythonを勉強中、
今日、「Pythonの変数を使って、プログラムをもっとコンパクトさせる」と言われましたが、どの変数を使ったら良いのか、分からなくて、MicroPythonに詳しい方々、宜しかったら、教えていただけますでしょうか?
ideoneという「簡単にコードを貼れて閲覧可能な」サービスを使っておりますので、よろしかったら、下記のリンクをクリックしていただいたら、自分のコードが見えます。
https://www.ideone.com/tddECZ
宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
なんだかな~
要は何かのデバイス向けのコマンド送信を短く書きたい
ということなんだろうけど、ただの数値の羅列やdefault value?
とか意味不明のこと言われても誰にも答えられませんよ。
デバイスを操作する目的と送信データフォーマットが有れば
いろいろ工夫出来るとは思います。
No.1
- 回答日時:
まぁ、正直言うとmicropythonを知らないし。
Rapsberry Piも持ってないんだけど。仮にmicropythonがPythonと同じ文法を持ってるとしたら、だ。
例えば
default_value = [0x84, 0x7F,
0x00, 0x10,
0x00, 0x30,
0x00, 0x10,
0x00, 0x10,
0x33, 0x30,
0x07, 0xC2,
0x00, 0x00,
0x00, 0x00,
0x3F, 0xFF,
0x00, 0x00,
0x00, 0x08,
0x00, 0xFF,
0x00, 0x00,]
とリストを定義しておいて、
> 「0x84,0xFF」が「0x20,0x30」に自動に変えられるらしいです。
を意図するなら
[0x20 if i == 0x84 else 0x30 if i == 0xFF else i for i in default_value]
とすればいい。
つまり、関数spi_write_data_1は、
def spi_write_data_1(val):
spi.write(bytes([0x00, 0x00] +
[0x20 if i == 0x84 else 0x30 if i == 0xFF for i in val]))
と書いて
spi_write_data(default_value)
で実行すりゃあエエ、って話になるんだが・・・・・・。
しかし貴方のideone上のコードを見ると、だ。
> 21行目
0x20,0x03, #default value:0x84,0x7F
default valueが0x7Fなのに0x03になってる。
> 28行目
0x87,0xC2, #default value:0x07,0xC2
default valueが0x07なのに0x87に変更されている。
等と、「貴方の提示したルールに従っていない」。
よって、取り敢えず、これ以上はどうしようもないね。
貴方しか分からんルールなんでコッチ側では何とも言いようがない。
よって、以上、です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python変数の使い方について 2 2023/06/16 17:32
- その他(プログラミング・Web制作) Pythonの変数 1 2023/06/16 17:40
- その他(プログラミング・Web制作) VS codeを使って、ラズパイ Picoを動かせる簡単な方法 1 2023/04/27 13:49
- その他(プログラミング・Web制作) Visual Studio Code 関数の使い方について 3 2023/05/31 13:15
- その他(プログラミング・Web制作) MicroPythonコード 1 2023/07/05 15:20
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) INDEX関数とMATCH関数を使用し値を返す数式についてです 2 2022/04/20 13:40
- Excel(エクセル) ユーザー関数の自動計算(excel2003) 1 2023/02/06 06:46
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
過剰なオブジェクト指向脳から...
-
フィルターかけた後、重複を除...
-
Exel VBA 別ブックから該当デ...
-
1、Rstudioで回帰直線を求める...
-
pythonにてseleniumを使うも、...
-
変数名「cur」について
-
VB6で読み上げをしたい
-
PreviewKeyDownイベントが2回...
-
VB6のComboBox関連の書き方をVB...
-
ユーザーフォームに2つのコン...
-
ユーザーフォームで銀行に対応...
-
chatgptでつくってもらったコー...
-
sinカーブの表示のさせ方
-
access2003 クエリSQL文に...
-
Excel VBAについて
-
Gitのクローンについて
-
ExcelのVBAコードについて教え...
-
python コードについて(初学者...
-
パイソンプログラム
-
COBOLの文法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
chatgptでつくってもらったコー...
-
欠番の抽出について
-
JANコードとPOSコードは同じ?
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
PreviewKeyDownイベントが2回...
-
将来AIが進歩してくるにつれて...
-
ACCESSユニオンクエリでORDER B...
-
VBAでファイルオープン後にコー...
-
COBOLの文法
-
Nullの使い方が不正です。
おすすめ情報