質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

831閲覧

python if関数の使い方

shunsukex1

総合スコア11

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/02/21 05:26

編集2020/02/21 06:05

pythonを勉強し始めたものです。
自分で関数を作りif関数でtrueを出したときに
その関数の処理をさせたいのですがただそのまま三角が動作してしまいます。
3を認識していなくとも処理してしまいます。

# -*- coding: utf-8 -*- ############################################################################### # ライブラリインポート ############################################################################### import os # os の情報を扱うライブラリ from PIL import Image # 画像処理ライブラリ import matplotlib.pyplot as plt # データプロット用ライブラリ import numpy as np # データ分析用ライブラリ import pyocr # OCR ラッパーライブラリ 対応OCR:Tesseract, Cuneiform import pyocr.builders # OCR ラッパーライブラリ 対応OCR:Tesseract, Cuneiform import sys # 実行環境関連ライブラリ import tkinter.filedialog import 三角 # カレントディレクトリを変更する os.chdir(r"C:\Users\shunsuke\Desktop\python\テスト紙") Image000 = "3.png" tools = pyocr.get_available_tools() if len(tools) == 0: print("No OCR tool found") sys.exit(1) tool = tools[0] #################### 画像の読み込み #################### img = Image.open(Image000) txt = tool.image_to_string( img, lang="eng", builder=pyocr.builders.TextBuilder(tesseract_layout=6) ) # 画像を配列に変換 im_list = np.array(img) # データプロットライブラリに貼り付け plt.imshow(im_list) # 表示 plt.show() # 抽出したテキストの出力 txt = True if "3": 三角() else: print("fhf")
#! python3 # resizeAndAddLogo.py import os from PIL import Image SQUARE_FIT_SIZE = 578# LOGO_FILENAME = "sankaku.png" # logo_im = Image.open(LOGO_FILENAME) # logo_width,logo_height = logo_im.size # os.makedirs('sankaku',exist_ok=True) # カレントディレクトリの全画像をループする for filename in os.listdir('.'): # if not (filename.endswith('.png') or filename.endswith('.jpg'))\ or filename == LOGO_FILENAME:# continue # 画像以外とロゴ画像はスキップする # im = Image.open(filename) # #画像サイズ変更する im.thumbnail((SQUARE_FIT_SIZE,SQUARE_FIT_SIZE))

二個目のコードが三角です
ちなみに中身としては「文字認識をさせて、3を認識したら
関数三角を動作させる。」
感じです

どうぞお願いします。

環境はwin10 64bit python3.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

riko111

2020/02/21 05:43

三角()の関数の定義が見当たりませんが、どうなってますか。 それから、どうもうまくいきません、というのはどういう状態ですか。エラーメッセージが出ているならそれも書いてください。そうではなく、意図しない結果が出るならそれを明記してください。
coco_bauer

2020/02/21 06:06

「if "3":」でifの条件"3"はFalseと一致しないので、常に条件にあった場合のように動作します。 つまり、いつも「三角()」という関数が実行されるプログラムになっています。その前のOCRで画像から文字列を得た結果を変数txtに入れたのも、if文の前に"txt=True"としているので、無駄になってしまっています。何がしたかったのかが判らないので、助言のしようもありません。 もっと、うぅぅんと簡単な例から始めてはどうでしょうか。
guest

回答1

0

if "3":

何かと "3" を比較するはずですが、比較対象が書かれていませんよ。
if hogehoge == "3":
とか。

"3" かどうか、どこに比較対象の情報があるのですか?

最初に txt"3" かどうかが代入されていると思うのですが、ifの直前に
txt = True
と代入していいるので、
if txt == "3":
と比較しても無意味になっています。

投稿2020/02/21 05:49

shiracamus

総合スコア5406

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shunsukex1

2020/02/21 06:07

その上にあるtxt = tool.image_to_string( img, lang="eng", builder=pyocr.builders.TextBuilder(tesseract_layout=6) ) これで文字認識させてtxtに入った文字が3か否かという比較をしたいのですが・・・ 言葉足らずで申し訳ないです。 それで中身が3であれば・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問