2022年03月27日

例外処理というそうです。python日記-37

ある決まりを設定して、その決まりから
外れる入力があると、メッセージ付きで、
プログラムが終了する、世界です。
説明コードはpython2で下記のごとくでした。
#!/usr/bin/env python

try:
num_of_input = input("Input number of values: ")
i = 0
vals = []
while i < num_of_input:
val = input("Input value #" + `i` + ": ")
if val >= 100:
raise "TooBig"
vals.append(val)
i = i + 1
print "The following values are user inputs:"
for val in vals:
print val
except "TooBig":
print "The value is too big!!"

「try:」の説明ってなんにもないんですよね。
とりあえず、いつものようにpython3で動作するように
翻訳することから、だったのですが、なかなか
動きませんでした。やっとこさ動作したのが下記。
ファイルpractice31.pyとして、
#!/usr/bin/env python3

try:
num_of_input = input("Input number of values: ")
zz = int(num_of_input)
i = 0
vals = []
while i < zz:
val = int(input("Input value #" + str(i) + ": "))
if val >= 100:
raise ValueError("TooBig")
vals.append(val)
i = i + 1
print("The following values are user inputs:")
for val in vals:
print(val)
#print("sum total: ",sum(vals))
except ValueError:
print("The value is too big!!")

raise_except-2.jpg

コードにあるように、101以上の数値を入力すると、
例外措置発動で、プログラムは最後まで行かず、直ちに終了します。

どんなときに役に立つのか、初心者には実感がわきません。
きのうからやってさっき、やっと動きました。
python2とpython3とで、骨子は何も変わっていないようですが、
細かい作法がはかなり違いますねえ。
選んだ教材がpython2(と思い込んでいますが、違う?)で、
python3に翻訳を試みることでなんとなく
わかってくることも、なくはないです。
コード内オレンジ色のコメント化されているところの
「#」を取ると、入力数値の総和も出ます。

教材の説明コードは、環境がないので、
動作するか、じぶんでは確かめていません。
教材なんだから、動くんだろうと思います。

例外措置にも、クラスというものがあるそうで、
ValueErrorのところの言葉は、何でもいいわけではない
そうです。エディタがpythonを認識するみたいで、
OverNumでは黒いままでした(使える場合は緑になります)。


posted by ブログ開設者 at 22:08| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

同様の状態、というご報告です。nekoさん最新コメント

isoビルダーで生成したAPorteus、という意味だと思いますが、
qemu系の仮想環境でお試しになり、私と同様の結果になった
というご報告がコメント欄にありました。
よって今回のisoビルダーの試用(使用)は
お控えください、とのことです。

中核の仕様の変更に対応するのは、
想像以上に大変なことと思います。


posted by ブログ開設者 at 15:37| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

archbang-spring-rc-2603-x86_64.iso。vmware workstation player16.2.3 / sparkylinux -6.3-amd64

liveで起動しました。

壁紙は、これで行くようですね。
ab260322.jpg

私は、以下の箇所が気になります。
ab260322-2.jpg

赤枠の辺りを赤枠のないスクリーンショットで
ご確認ください。修正がある
というふうに見えて仕方ありません。
拡大しないほうが、判りやすいです。

rofiのアプリケーションメニューがあり(ctrl + d)、
メニューのSettingsには、
openboxの設定ファイルが開き、pacmanのミラーサーバーを
手早く設定できる項目もあります。

ab2603_theme.jpg

アイコンは、あり物で行くようですね。
カーネルは、5.16.16-arch1-1。
主要ツールは、
firefox lxtermina l3afpad pcmanfmで、
変更なしです。

みどり氏の最近のコメントの終わりには、
常に、Stay Safe@ ってあります。
みなさんに対し、私もそこは同じ思いです。


posted by ブログ開設者 at 10:12| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

ビルドしたAPorteus-XFCE_ja-v22.03.27-x86_64の状態。

また懲りずに、想定外の環境、仮想環境での動作についてです。
ダウンロードしたAPorteus-v22.03.24-x86_64.isoを
仮想環境(vmware workstation16.2.3)で、起動。
無事に起動し、共有フォルダを使うかたちで、isoビルダーを
使い、APorteus-XFCE_ja-v22.03.27-x86_64.isoを作成しました。

かかった時間は、一時間半ぐらいまでは見ていましたが、
朝には、APorteus-XFCE_ja-v22.03.27-x86_64.progress
とともに、作成されていました。

progressによれば、00:19から、05.:55までかかったようです。
APorteus_progress.jpg

ビルダーは、ソフトウェアを追加するかたちでは、
すぐに動作をやめてしまうので、デフォルト状態、
すなわち、XFCEのデスクトップ環境のみ入る
かたちで実行し、動作しました。

仕上がったisoは、仮想環境上でのモジュールのロードに
おそらく問題はないと思います。ただ、デスクトップが出ません。
仮想環境をvirtualboxに変更しても、同じ状態でした。

以下の表示が出たりもします。起動ごと毎回ではないです。
APorteus-XFCE-build.jpg
virtualboxは、6.1.32。

兎にも角にも、想定外の環境での、実行の1事例にすぎないです。
ご報告までです。

isoビルダーでソフトウェアの追加はできない、みたいな
ことが最初のnekoさんのコメントにかかれていた
ような気もしますので、それがよくなかったのかも、
と反省しています。時間がかかることについては、
共有フォルダを使うことの影響もやっぱりあるのではないか、
と想像しています。

ホスト環境のネット接続で、process errorのような
表示が出ています。接続自体は問題ないのですが、
そういったことも何らかの影響をもたらしているのかも、
などと思います、他のゲストOSでネット接続に問題は
出ていませんが。

あと、少し思うのは、archlinuxのパッケージ群は、
archlinuxのデフォルトカーネルに合わせているように
思います。いま現在、5.16-16-arch1-1です。
今回のAPorteusは、5.17-1-porteusのようですね。
カーネルバージョンの二番目の数字が変わるときは、
変化の大きいこともあり、ライブラリの
齟齬が生じている可能性をちょっと想像します。
XFCEの環境がarchのrepoから入るのでしたら。


posted by ブログ開設者 at 09:11| Comment(1) | linux | このブログの読者になる | 更新情報をチェックする