WP5.3 WP SyntaxHighliter Powershell Classic Editorの組み合わせ

WP5.3 WP SyntaxHighliter Powershell Classic Editorの組み合わせ

#USBログオフ時メッセージプロンプト処理
#メッセージ文
$messagePath="C:\temp\usbmessage.txt"
#ログ出力パス
$usbLOG="C:\temp\test\usblog.txt"
 
#--------------------------------------
#メッセージボックス
#--------------------------------------
function MessageBox([string]$p_value = "")
{
    [Void][Windows.Forms.MessageBox]::Show($p_value,"お知らせ","OK", "Warning")
}
 
 
$crUSB = Get-WmiObject -Class win32_usbhub | ? { $_.name -eq "USB 大容量記憶装置" } | ? { $_.status -eq  "OK" }
 
 
if ($crUSB) {
    write-output "$env:computername,$env:username,$(get-date)" >> $usbLOG
 
    #Windowsフォームのロード
    [Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
 
    MessageBox $([String]::Join("`r`n", (Get-Content $messagePath)))
    
}

WP SyntaxHighlighter with WP5.3default & Classic Editor

WP SyntaxHighlighter with WP5.3default & Classic Editor

def add_tax(astring):
    items = astring.split()
    price = int(items[1]) * 1.1
    items[1] = str(int(price))
    return " ".join(items)

s = add_tax("Goods 1000 2019/07/03")
print(s)

↑人気ブログランキングに参加しています。ポチっと1票を!

Visual Basic4度目のUP

Sub チェック()<br />    Dim i As Long 'カウンタ変数 ※→「開発」→「マクロ」→「Module1」→「ツール」→「マクロ」→「チェック」→「編集」<br />    Dim myTemporary As Long    'あまりの処理<br />    Dim myAmari As Long<br />    Dim myGANS As Long   'Counter Good Answer<br />    Dim SRT_BS As Long   'Displacement Count Area<br />    Dim ST_PTR As Long   '生徒のラインナンバー<br />    Dim myANSWR As Boolean  '割り算の商と余りが両方あってなければいけない<br />    ' Code<br />    myGANS = 0  'Initialize<br />    myANSWR = False<br />    Sheets("Sheet1").Select 'Select Sheet1<br />    myOperator = Cells(1, 10).Value<br />    <br />    For i = ORG_CLM To DST_CLM<br />        'A列の値とC列の値の和がE列に入力された答えと正しいか判定<br />        If myOperator = "+" Then<br />            SRT_BS = 5<br />            If Cells(i, NUM1_RW).Value + Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then<br />                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に<br />                myGANS = myGANS + 1<br />            Else<br />                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に<br />            End If<br />        End If<br />        If myOperator = "-" Then<br />            SRT_BS = 10<br />            If Cells(i, NUM1_RW).Value - Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then<br />                Cells(i, ANSW_RW).Font.Color = vbBlue '正解なら文字色を青に<br />                myGANS = myGANS + 1<br />            Else<br />                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に<br />            End If<br />        End If<br />        If myOperator = "*" Then<br />            SRT_BS = 15<br />            If Cells(i, NUM1_RW).Value * Cells(i, NUM2_RW).Value = Cells(i, ANSW_RW).Value Then<br />                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に<br />                myGANS = myGANS + 1<br />            Else<br />                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に<br />            End If<br />        End If<br />        If myOperator = "/" Then<br />            SRT_BS = 20<br />            If Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value) = Cells(i, ANSW_RW).Value Then<br />                Cells(i, ANSW_RW).Font.Color = vbBlue     '正解なら文字色を青に<br />                myANSWR = True<br />               <br />            Else<br />                Cells(i, ANSW_RW).Font.Color = vbRed      '不正解なら文字色を赤に<br />                <br />            End If<br />             myTemporary = Int(Cells(i, NUM1_RW).Value / Cells(i, NUM2_RW).Value)<br />             myAmari = Cells(i, NUM1_RW).Value - myTemporary * Cells(i, NUM2_RW).Value<br />             If Cells(i, AMAR_RW).Value = myAmari Then<br />                 Cells(i, AMAR_RW).Font.Color = vbBlue<br />                 If myANSWR = True Then<br />                    myGANS = myGANS + 1<br />                 End If<br />             Else<br />                 Cells(i, AMAR_RW).Font.Color = vbRed<br />             End If<br />        End If<br />    Next i<br />    If myGANS = SEIKAI_SU Then<br />        MsgBox "全問正解です。おめでとう!"<br />    Else<br />        MsgBox "もうちょっと!"<br />    End If<br />    <br />    SRT_RW = Cells(1, 13).Value  'Bias Locate depend on 横 operator<br />    Sheets("Sheet2").Select<br />    SRT_BS = SRT_BS + SRT_RW    'Fix Count Location<br />    ST_PTR = Cells(1, 14).Value     'Current 生徒の行<br />    Cells(1, 15).Value = SRT_BS '横のLocation<br />    Cells(ST_PTR, SRT_BS) = myGANS  '正解数を入れる<br />    Sheets("Sheet1").Select 'Change Manage Page To Question Page<br />End Sub<br /><br />Sub リセット()<br />    Dim i As Long            'カウンタ変数<br />    Dim myTemporary As Long<br />    UserForm3.Show  'Show List2<br />    Sheets("Sheet2").Select 'Select Sheet2<br />    If IsNumeric(Cells(1, 11).Value) Then<br />       ' MsgBox "True"<br />        If Cells(1, 11).Value = 0 Then<br />            ST_NUM = 4<br />            Cells(1, 11).Value = ST_NUM<br />        Else<br />            ST_NUM = Cells(1, 11).Value '前回からの登録簿のスタート値を使用<br />            'MsgBox ST_NUM<br />        End If<br />    Else<br />        ST_NUM = 4 '生徒ライン番号初期化<br />        Cells(1, 11).Value = ST_NUM '生徒ライン番号初期化<br />        MsgBox ST_NUM  'for debug<br />    End If<br />    If MsgBox("追加登録しますか?", vbYesNo) = vbYes Then  '追加登録をするか?<br />        Do While Cells(1, 12).Value &lt;&gt; "End" '後でENDをセットするルーチンを作る事<br />            If Cells(1, 12).Value = "End" Then  '登録作業エンド<br />                 Sheets("Sheet2").Select 'Select Sheet2<br />            End If<br />            Cells(1, 10).Value = "Error" 'Error Flag On?<br />            Do While Cells(1, 10).Value = "Error"<br />                FRM_USER.Show   'User Form Show Registry ID<br />            Loop<br />            Cells(1, 10).ClearContents 'Error Flag On?<br />        Loop    'New Loop End<br />    Else<br />        MsgBox "今回は登録しません。"<br />        Sheets("Sheet2").Select<br />        Cells(1, 12).Value = "End"<br />    End If<br />    '問題出題<br />        Sheets("Sheet2").Select 'Servey Loop End<br />        If Cells(1, 12).Value = "End" Then<br />            Cells(1, 12).ClearContents  'For debug<br />            Sheets("Sheet1").Select 'Select Sheet1<br />            UserForm1.Show  'UserForm1 Show 加減乗除<br />            UserForm2.Show  '桁数セット<br />        End If<br />        Sheets("Sheet1").Select 'Select Sheet1<br />        myBias = Cells(1, 11).Value      'WorkCell for Bias Value<br />        myOperator = Cells(1, 10).Value  'Workarea for Operator<br />    <br />        For i = ORG_CLM To DST_CLM<br />            Cells(i, ANSW_RW).ClearContents        '値をクリア<br />            Cells(i, AMAR_RW).ClearContents<br />            Cells(i, ANSW_RW).Font.Color = vbBlack '文字色を黒に<br />            Cells(i, AMAR_RW).Font.Color = vbBlack<br />            Cells(i, NUM1_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力<br />            Cells(i, OPR_RW).Value = myOperator      '四則演算子を入れる<br />            Cells(i, NUM2_RW).Value = Int(Rnd * myBias) 'A列に1桁~4桁のランダムな数値を入力<br />            If myOperator = "-" Then<br />            myTemporary = Cells(i, NUM1_RW)<br />                If Cells(i, NUM1_RW) &lt; Cells(i, NUM2_RW) Then<br />                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)<br />                    Cells(i, NUM2_RW) = myTemporary<br />                End If<br />            End If<br />            If myOperator = "/" Then<br />            myTemporary = Cells(i, NUM1_RW)<br />                If Cells(i, NUM1_RW) &lt; Cells(i, NUM2_RW) Then<br />                    Cells(i, NUM1_RW) = Cells(i, NUM2_RW)<br />                    Cells(i, NUM2_RW) = myTemporary<br />                    If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide<br />                        Cells(i, NUM2_RW) = 1<br />                    End If<br />                Else<br />                   If Cells(i, NUM2_RW) = 0 Then   'Escape 0 devide<br />                        Cells(i, NUM2_RW) = 1<br />                    End If<br />                End If<br />            End If<br />        Next i<br />End Sub<br /><br />Option Explicit<br />Dim strMSG As String<br />Public ST_NUM As Long<br />Private Sub TextBox2_Change()<br />MsgBox "Box2"<br />Unload Me<br />End Sub<br /><br />Private Sub TextBox3_Change()<br />MsgBox "Box3"<br />Unload Me<br />End Sub<br /><br />Private Sub FRM_USER()<br />    MsgBox "FRM_USER()"<br />    Unload Me<br />End Sub<br />Private Sub CMD_OK_Click()  'UserForm_Click()<br />    'MsgBox "Execute _Click() on Registry"<br />    Sheets("Sheet2").Select 'Select Sheet2<br />    If OptionButton1.Value = True Then      '登録終了<br />        Cells(1, 12).Value = "End"<br />    End If<br />    If OptionButton2.Value = True Then<br />        Cells(1, 12).ClearContents<br />    End If<br />    If OptionButton3.Value = True Then<br />        Cells(1, 13).Value = "指定" 'Fix Row<br />    End If<br />    '入力内容のチェック<br />    If Trim$(TXT_NAME.Text) = "" Then<br />        strMSG = "氏名が入力されていません。"<br />    ElseIf Trim$(TXT_CODE.Text) = "" Then<br />        strMSG = "生徒Noが入力されていません。"<br />    ElseIf Trim$(TXT_SCLNM.Text) = "" Then<br />        strMSG = "学校名が入力されていません。"<br />    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) &lt;&gt; True Then<br />        strMSG = "生徒Noが数字ではありません。"<br />    ElseIf Len(Trim$(TXT_CODE.Text)) &lt;&gt; 5 Then<br />        strMSG = "生徒Noは5桁で入力してください。"<br />    ElseIf Trim$(TXT_CODE.Text) &lt; 10000 Then<br />        strMSG = "生徒Noは10000以上で入力してください。"<br />    End If<br />    Sheets("Sheet2").Select 'Select Sheet2<br />    If Trim$(strMSG) &lt;&gt; "" Then<br />        Cells(1, 10).Value = "Error" 'Set Error Flag<br />        MsgBox strMSG<br />    Else<br />        Cells(1, 10).ClearContents 'Clear Error Flag<br />        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット<br />        <br />        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名<br />        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No<br />        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名<br />        ST_NUM = ST_NUM + 1 'Sheet2の行No<br />        Cells(1, 11).Value = ST_NUM 'Save 生徒No<br />    End If<br />    Unload Me<br />End Sub<br />Option Explicit<br /><br />Private Sub CommandButton1_Click()<br />    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List<br />    'Unload Me<br />End Sub<br />Private Sub ListBox1_Click()<br />    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No<br />    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4<br />    Sheets("Sheet2").Select<br />    Cells(1, 14).Value = ListBox1.ListIndex + 4<br />    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR<br />End Sub<br /><br />Option Explicit<br />Dim strMSG As String<br />Public ST_NUM As Long<br />Private Sub TextBox2_Change()<br />MsgBox "Box2"<br />Unload Me<br />End Sub<br /><br />Private Sub TextBox3_Change()<br />MsgBox "Box3"<br />Unload Me<br />End Sub<br /><br />Private Sub FRM_USER()<br />    MsgBox "FRM_USER()"<br />    Unload Me<br />End Sub<br />Private Sub CMD_OK_Click()  'UserForm_Click()<br />    'MsgBox "Execute _Click() on Registry"<br />    Sheets("Sheet2").Select 'Select Sheet2<br />    If OptionButton1.Value = True Then      '登録終了<br />        Cells(1, 12).Value = "End"<br />    End If<br />    If OptionButton2.Value = True Then<br />        Cells(1, 12).ClearContents<br />    End If<br />    If OptionButton3.Value = True Then<br />        Cells(1, 13).Value = "指定" 'Fix Row<br />    End If<br />    '入力内容のチェック<br />    If Trim$(TXT_NAME.Text) = "" Then<br />        strMSG = "氏名が入力されていません。"<br />    ElseIf Trim$(TXT_CODE.Text) = "" Then<br />        strMSG = "生徒Noが入力されていません。"<br />    ElseIf Trim$(TXT_SCLNM.Text) = "" Then<br />        strMSG = "学校名が入力されていません。"<br />    ElseIf IsNumeric(Trim$(TXT_CODE.Text)) &lt;&gt; True Then<br />        strMSG = "生徒Noが数字ではありません。"<br />    ElseIf Len(Trim$(TXT_CODE.Text)) &lt;&gt; 5 Then<br />        strMSG = "生徒Noは5桁で入力してください。"<br />    ElseIf Trim$(TXT_CODE.Text) &lt; 10000 Then<br />        strMSG = "生徒Noは10000以上で入力してください。"<br />    End If<br />    Sheets("Sheet2").Select 'Select Sheet2<br />    If Trim$(strMSG) &lt;&gt; "" Then<br />        Cells(1, 10).Value = "Error" 'Set Error Flag<br />        MsgBox strMSG<br />    Else<br />        Cells(1, 10).ClearContents 'Clear Error Flag<br />        ST_NUM = Cells(1, 11).Value  '生徒の番号をセット<br />        <br />        Cells(ST_NUM, 1).Value = Trim$(TXT_NAME.Text) '氏名<br />        Cells(ST_NUM, 2).Value = Trim$(TXT_CODE.Text) '生徒No<br />        Cells(ST_NUM, 3).Value = Trim$(TXT_SCLNM.Text) '学校名<br />        ST_NUM = ST_NUM + 1 'Sheet2の行No<br />        Cells(1, 11).Value = ST_NUM 'Save 生徒No<br />    End If<br />    Unload Me<br />End Sub<br /><br />Option Explicit<br />Public myOperator As String<br />Const OPR_RW As Integer = 2<br /><br /><br />Private Sub CommandButton1_Click()   'UserForm_Click()<br />         Sheets("Sheet1").Select 'Select Sheet1<br />        If OptionButton1.Value = True Then<br />            myOperator = "+"<br />        End If<br />        If OptionButton2.Value = True Then<br />            myOperator = "-"<br />        End If<br />        If OptionButton3.Value = True Then<br />            myOperator = "*"<br />        End If<br />        If OptionButton4.Value = True Then<br />            myOperator = "/"<br />        End If<br />        'MsgBox myOperator<br />        Cells(1, 10).Value = myOperator   'Save Operator as String<br />        Unload Me<br />End Sub<br /><br />'Private Sub UserForm_Click()<br />'    'UserForm.Show<br />'    MsgBox "Before CommandButton1"<br />'End Sub<br />Private Sub UserForm_Click()<br /><br />End Sub<br /><br /><br />Option Explicit<br />Public myBias As Long<br />Public SRT_RW As Long<br />Private Sub CommandButton1_Click()  'UserForm_Click()<br />         Sheets("Sheet1").Select 'Select Sheet1<br />         SRT_RW = 0 'Initialize Operator Bias Location<br />        'MsgBox "Before CommandButton1"<br />        If OptionButton1.Value = True Then  '1桁<br />            myBias = 10<br />            SRT_RW = SRT_RW + 0<br />        End If<br />        If OptionButton2.Value = True Then  '2桁<br />            myBias = 100<br />            SRT_RW = SRT_RW + 1<br />        End If<br />        If OptionButton3.Value = True Then  '3桁<br />            myBias = 1000<br />            SRT_RW = SRT_RW + 2<br />        End If<br />        If OptionButton4.Value = True Then  '4桁<br />            myBias = 10000<br />            SRT_RW = SRT_RW + 3<br />        End If<br />        'MsgBox myBias<br />        Cells(1, 11).Value = myBias  'Save 桁数<br />        Cells(1, 13).Value = SRT_RW<br />        Unload Me<br />End Sub<br /><br />'Private Sub UserForm_Click()<br />'    MsgBox "Here is UserForm2"<br />    'UserForm2.Show<br />'End Sub<br />Private Sub UserForm_Click()<br /><br />End Sub<br />Option Explicit<br /><br />Private Sub CommandButton1_Click()<br />    ListBox1.RowSource = "Sheet2!A4:A103"   'Set List<br />    'Unload Me<br />End Sub<br />Private Sub ListBox1_Click()<br />    'MsgBox Cells(ListBox1.ListIndex + 1, 1) 'Display ST_NUM 生徒No<br />    'MsgBox ListBox1.ListIndex   'Line No. ST_PTR - 4<br />    Sheets("Sheet2").Select<br />    Cells(1, 14).Value = ListBox1.ListIndex + 4<br />    'MsgBox ListBox1.ListIndex + 4  'Line NO. ST_PTR<br />End Sub

エディター内ではシンタックス・ハイライトしないと指定したのに色付けされている。多分ログオフしたらプレーン表示されるに違いない。GutenbergのBugに違いない!

WP5.3 classic editor WP SyntaxHighlighterに戻してみた。改行が効かずに1行になってしまったがSyntaxHighlightはされている。

以下の画像はプログラムの同じ個所をEditor内とログオフしてサイトを表示したものです

編集中はライン番号も表示されているし、右端でラップラウンドもしている。

ログアウトして当サイトを表示するとプレーンテキストの表示になる。

ライン番号も表示されない。

↑人気ブログランキングに参加しています。ポチっと1票を!

PHP Version up(7.3)

PHP Version up(7.3)

このプログラムは下記記事を全面的に参照させていただきました。
USBメモリ抜き忘れ防止スクリプトをPowerShellでやってみる

#USBログオフ時メッセージプロンプト処理
#メッセージ文
$messagePath="C:\temp\usbmessage.txt"
#ログ出力パス
$usbLOG="C:\temp\test\usblog.txt"
 
#--------------------------------------
#メッセージボックス
#--------------------------------------
function MessageBox([string]$p_value = "")
{
    [Void][Windows.Forms.MessageBox]::Show($p_value,"お知らせ","OK", "Warning")
}
 
 
$crUSB = Get-WmiObject -Class win32_usbhub | ? { $_.name -eq "USB 大容量記憶装置" } | ? { $_.status -eq  "OK" }
 
 
if ($crUSB) {
    write-output "$env:computername,$env:username,$(get-date)" >> $usbLOG
 
    #Windowsフォームのロード
    [Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
 
    MessageBox $([String]::Join("`r`n", (Get-Content $messagePath)))
    
}

PHP Ver 7.3でWP SyntaxHighlighterが互換性がなかったことからテストしてみました。
このプログラムはUSB装置にUSBメモリがさしたままになっていないかを判定するプログラムです。
通常はログオフするときに働くように設定します。またログファイルは管理者権限のあるPath上にあるべきです。

↑人気ブログランキングに参加しています。ポチっと1票を!

USBログオフ時取り忘れ.ps1(powershell_ISEで実施)

四則演算(PyCharm)

四則演算

-PyCharmとChromeで実施

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo09.py

from flask import Flask,request

app = Flask(__name__)

@app.route('/')
def index():
    a = int(request.args.get("a"))
    b = int(request.args.get("b"))
    op = request.args.get("op")
    
    if op == "a":
          c = str(a + b)
          return "demo09 Add answer = "+c
    elif op == "s":
          c = str(a - b)
          return "demo09 Subtract answer = "+c
    elif op == "m":
          c = str(a * b)
          return "demo09 Multiply answer = "+c
    elif op == "d":
          c = str(a // b)
          return "demo09 Divide answer = "+c
    elif op == "r":
          c = str(a % b)
          return "demo09 Reminder answer = "+c
    elif op == "p":
          c = str(a ** b)
          return "demo09 Power answer = "+c
    else:
          return "demo09 Illeagal operator"

if __name__ == '__main__':
    app.run(debug=True)
#http://127.0.0.1:5000/?op=p&a=3&b=2

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

元号特定プログラム(Python版)

PowerShell_ISE使って西暦年月日を指定して、その日がどの元号に当たるかを特定するプログラムをPython言語にアレンジしたものである。

元号特定プログラム

前に当ブログで西暦、和暦相互変換のプログラムを載せた。今回はPowerShell_ISE使って西暦年月日を指定して、その日がどの元号に当たるかを特定するプログラムをPython言語にアレンジしたものである。Ad-Conversion 20190502をAd_Conversion(20190502)で関数を呼び出し結果を表示する。
PowerShell_ISEをPython
変数「$・・」を「・・」
「-(ハイフン)」を「_(アンダーバー)」
「Function」を「def」(関数の定義)
「ーlt」を「<」(比較演算子)→全角で代用
「elseif」を「elif」(予約語の相違)
「 + 」を「,」(カンマ)
関数のパラメーター
「数字」を「(数字)」にそれぞれ書き換えの必要がある。

元号特定プログラム

def Ad_Conversion(indate):

    ERA_MEIJI = "明治"
    ERA_TAISHO = "大正"
    ERA_SHOWA = "昭和"
    ERA_HEISEI = "平成"
    ERA_REIWA = "令和"

    DATE_MEIJI = 18680908
    DATE_TAISHO = 19120730
    DATE_SHOWA = 19261225
    DATE_HEISEI = 19890108
    DATE_REIWA = 20190501

    if (indate < DATE_MEIJI):

        print("明治以前の日付には対応していません。")

    elif (indate < DATE_TAISHO):

        print("元号は", ERA_MEIJI, "です。")

    elif (indate < DATE_SHOWA):

        print("元号は", ERA_TAISHO, "です。")

    elif (indate < DATE_HEISEI):

        print("元号は", ERA_SHOWA, "です。")

    elif (indate < DATE_REIWA):

        print("元号は", ERA_HEISEI, "です。")

    else:

        print("元号は", ERA_REIWA, "です。")

Ad_Conversion(19300101)  # ①
Ad_Conversion(18700101)
Ad_Conversion(20190101)
Ad_Conversion(20190502)
Ad_Conversion(20200101)
Ad_Conversion(19510817)

# 下記は同スクリプトを実行した結果です
# 元号は昭和です。 # ①
# 元号は明治です。
# 元号は平成です。
# 元号は令和です。
# 元号は令和です。
# 元号は昭和です。

↑人気ブログランキングに参加しています。ポチっと1票を!

PyCharm Version Up(19.2)

PyCharm Version Up(19.2)

PyCharmのバージョンアップを行った。
Ver18.3→Ver19.2である。
WSLで作ったFlaskもAtomで作ったPython Programも皆、PyCharm上で動く。
将来的にはSQLiteも動かす予定だ。

# -*- coding: utf-8 -*-
print("例:明治 42 年")
S = input("和暦:")

syear = 0
print(S.split())
items = S.split()
year = int(items[1])

if items[0] == "明治":
    syear = 1867 + year
elif str(items[0]) == "大正":
    syear = 1911 + year
elif items[0] == "昭和":
    syear = 1925 + year
elif items[0] == "平成":
    syear = 1988 + year
elif items[0] == "令和":
    syear = 2018 + year
else:
    print(items[0],"Error")

print("西暦",str(syear),"年")

これは和暦→西暦変換プログラムである。

↑人気ブログランキングに参加しています。ポチっと1票を!

wp-syntaxhighlighterの記事は野性の証明でないと見られません

wp-syntaxhighlighterの記事は野性の証明でないと見られません

野性の証明 を参照。

wp-syntaxhighlighter を参照。

アイキャッチ画像は最近のカスケードメニューです。

↑人気ブログランキングに参加しています。ポチっと1票を!

demo32.pyのプログラム

demo32のプログラム

– 他の「demoxx.html」プログラムは省略します。
– 後日機会があったら当ブログに載せます。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py sessin managed & username get
from flask import Flask, redirect, request, render_template, url_for, session

app = Flask(__name__)

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')

@app.route('/program', methods=['GET', 'POST'])
def program():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo03.html')

@app.route('/program1', methods=['GET', 'POST'])
def program1():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo04.html')

@app.route('/program2', methods=['GET', 'POST'])
def program2():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo05.html')

@app.route('/param/<parameter>')
def show_user_profile(parameter):
    if 'username' in session:
        html = render_template('demo07.html',name = str(parameter))        
        return html
    return 'You are not logged in. from param processing'

@app.route('/reset', methods=['GET', 'POST'])
def reset():
    session['username'] = 'monkey'
    return render_template('check31.html')

@app.route('/')
def func():
    if 'username' in session:
        html = render_template('demo07.html',name = str(session['username']))        
        return html
    return 'You are not logged in'

@app.route('/check', methods=['GET', 'POST'])
def check():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('func'))
    return render_template('check31.html')

@app.route('/',methods=['POST'])
def index():

    if (request.form['attr'] == 'need'):

        success = False
        name = request.form["username"]
        passwd = request.form["pass"]
        att1 = request.form['attr']
        my_message = "keyword処理は?"
    else:
        con1 = request.arg.get('_ControlID')
        pg1 = int(request.arg.get('_PageID'))
        act1 = request.arg.get('_ActionID')
        flg1 = request.arg.get('getFlg')
        html = render_template('demo07.html', con = con1, pg = str(pg1), act = act1, flg = flg1)        
        return html

    user_data = [{"id":"カリフラワー", "pass":"hanakyabetsu"},{"id":"西行法師", "pass":"masako"},{"id":"monkey", "pass":"kayochan"},{"id":"program1", "pass":"pass1"}]

    for i in range(0, 10):
        if user_data[i]["id"] == name:
            if user_data[i]["pass"] == passwd:
                success = True
                session['username'] = name
                return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
            else:
                continue
        else:
            continue
    success = False
    return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)

@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))

app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'

if __name__ == '__main__':
    app.run(debug=True)

– 以上セッション処理プログラムでした。

↑人気ブログランキングに参加しています。ポチっと1票を!

WP SyntaxHighlighterを使ったPython Programの例

WP SyntaxHighlighterを使ったPython Programの例

WordPressでSyntaxHighlightができるようになった。
Python ProgramのClassの例である。
これでテキストをコピペできるようになったが、その代わりHydrogenの結果などを表現できなくなった。長短相半ばするといったところか。今後は場合によって両者を使い分けることとする。

class Fish:
    def __init__(self, name, build="ほね", eyelids=False):
        self.name = name
        self.build = build
        self.eyelids = eyelids

    def swim(self):
        print("こちらの魚は泳ぎます")

    def swim_back(self):
        print("こちらの魚は後ろ向きにも泳ぎます")

class Medaka(Fish):
    pass

#mach1
mach = 1225
topspeed = 40000
print(topspeed / mach)

no0 = Fish("魚1号(親クラス)")
print(no0.name)
print('骨格:',no0.build)
print('まぶた:',no0.eyelids)
no0.swim()
no0.swim_back()

no1 = Medaka("魚2号(子クラス)")
print(no1.name)
print('骨格:',no1.build)
print('まぶた:',no1.eyelids)
no1.swim()
no1.swim_back()

# below do not execute
class Kingyo(Fish):
    def __init__(self, name, build="ほね", eyelids=False):
        self.name = '金魚ちゃん' + name + 'だよ'
        self.build = build + ' かな'
        self.eyelids = eyelids

以下がこれまでの当ブログでの表現

Python Classの例(Atom)の場合

(写真はY.O.氏から借用)
↑人気ブログランキングに参加しています。ポチっと1票を!