- 1 名前:デフォルトの名無しさん [2019/02/04(月) 21:22:10.08 ID:9MrdxUVg.net]
- ★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その40 mevius.5ch.net/test/read.cgi/tech/1542874174/ ◆PythonのHome Page www.python.org/ ◆まとめwiki ttp://python.rdy.jp/ ◆Pythonのソースコードをそのまま5ちゃんにコピペすると インデントが崩れるので こういうところ↓にはってきてください ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste
- 528 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 09:13:58.12 ID:DIrFqE8l.net]
- hoge fuga piyo
foo bar baz
- 529 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 09:52:58.71 ID:BXQcWGGg.net]
- ホゲホゲ
- 530 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 10:04:27.98 ID:BMXqmTyM.net]
- forループのときの「i」とか「j」はなんなんだよ
- 531 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 10:34:23.57 ID:DIrFqE8l.net]
- 文句は数学に言え
- 532 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 10:36:52.25 ID:DIrFqE8l.net]
- それともI(愛)の前にHがある
じゃあI(愛)の次に来るJってなんだ? ということか?
- 533 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 11:02:11.75 ID:mnGOhC/5.net]
- 慈愛かなんかじゃねぇの。
自慰とか
- 534 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 11:15:27.58 ID:/6VFWsqW.net]
- >>507
案1. ファイルに書き出さないでBytes.ioを使う 案2. ファイルの書き出す先をRAMディスクにする
- 535 名前:デフォルトの名無しさん [2019/03/05(火) 11:57:14.36 ID:HwCl8Q1J.net]
- >>507
ファイルじゃなくてメモリ上でやるのはもちろんだし 多少精度は落ちるが 画面をリサイズしてから比較する 予備的に処理入れて 引っかかったものだけ全体比較検査する
- 536 名前:デフォルトの名無しさん [2019/03/05(火) 11:59:44.40 ID:HwCl8Q1J.net]
- >>514
愛JKだな
- 537 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 12:01:27.7
]
- [ここ壊れてます]
- 538 名前:6 ID:BXQcWGGg.net mailto: そこに、LなMが []
- [ここ壊れてます]
- 539 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 16:13:55.69 ID:/w4kwDux.net]
- oとpするイテレーション
- 540 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:08:43.40 ID:yUBkGE+g.net]
- 文字からunicodeを取得したいのですが、うまく行きません。お助け下さい
文字列にdecode属性は無いと言われるのですが、何が問題なのでしょうか https://i.imgur.com/XiX7for.png 参考にしたページは以下です >>> 'いろは'.decode('utf-8') u'\u3044\u308d\u306f' https://qiita.com/megmogmog1965/items/e2f633ac445831568975
- 541 名前:デフォルトの名無しさん [2019/03/05(火) 18:21:59.46 ID:Fbwgj3J5.net]
- pythonエンジニア認定試験とかいうのを受けるんやけどどうやって勉強しよう
模擬試験1個しかないし過去問に似たような問題とか落ちてないよなあ
- 542 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:31:55.02 ID:7lWO2Eg6.net]
- >>521
組み込み関数のord()を使うのが正解 for x in "いろは" : print(hex(ord(x))) で0x3044,0x308d,0x306fが取得できる 単にord(x)だと10進数のやつになる
- 543 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:32:57.79 ID:fIhIM0AX.net]
- >>522
プログラミング言語の資格なんてクソの役にも立たないから、気楽に受ければいいよ
- 544 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:37:17.26 ID:yUBkGE+g.net]
- >>523
ありがとうございます!できました!
- 545 名前:デフォルトの名無しさん [2019/03/05(火) 18:43:39.13 ID:yG+1nA7g.net]
- >>516
>>517 ありがとうございます。メモリ上でというのが理想ですが やり方がわかりません。もっと勉強してきます。
- 546 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:48:35.51 ID:jEZ1EKzD.net]
- >>521 ‘いろは’ はstr だからだよ。
s = ‘いろは’ b = s.encode() とバイト列などにすれば、 b.decode()は出来るよ。 ただ目的とは違うだろうけど。 UTF-8 はデフォルトだがら指定しなくて良い。
- 547 名前:デフォルトの名無しさん [2019/03/05(火) 19:39:23.62 ID:xsrwNvaN.net]
- >>507
一度保存せずともnp.asarray()でgrabしたのをnumpy配列に変換できるからあとはOpenCVで処理できる
- 548 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:18:03.67 ID:apIwEZzG.net]
- m = 1
x = 0.8 print(m,x,m-x) ↑こちらを実行すると 引き算が0.199・・となるんですけど 1 0.8 0.19999999999999996 変数に入れた通りの解答 0.2にするにはどうすればよいのでしょうか?
- 549 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:41:40.15 ID:7lWO2Eg6.net]
- >>529
https://docs.python.org/ja/3/library/decimal.html
- 550 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:49:10.69 ID:/6VFWsqW.net]
- >>526
ソースコード見る限りImageGrab.grab()がimageを返しそうだから frame_pre = ImageGrab.grab() や frame_next = ImageGrab.grab() として saveの行とimreadの行を削除してみたらどう?
- 551 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:58:16.68 ID:CbSwC66k.net]
- >>529 f文字列を使ったら?
print(x,y, f'{x-y:.1f}' ) # 小数点以下1桁表示
- 552 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 21:03:22.55 ID:yUBkGE+g.net]
- "%s" % "foo"
この%ってprintfみたいな感じと思うのですが、 これはなんというのでしょうか?
- 553 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 21:11:42.23 ID:/6VFWsqW.net]
- >>531
>>528の言う通りnp.asarrayでキャストしないとエラー出た つまり frame_pre = np.asarray(ImageGrab.grab()) とする
- 554 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 22:16:33.26 ID:fIhIM0AX.net]
- >>533
廃棄物や老害とでも呼べばいいんじゃないかな Python3で非推奨になった時代遅れの演算子だから今すぐに忘れなさい
- 555 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 22:40:50.70 ID:apIwEZzG.net]
- >>530 奥が深いんですね 考慮しなきゃいけない事色々あって嵌りそう
>>532 当面f文字列で対応してみます ありがとうございます!
- 556 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 22:43:50.05 ID:yUBkGE+g.net]
- >>535
非推奨なんですね、ありがとうございます
- 557 名前:デフォルトの名無しさん [2019/03/05(火) 22:50:11.98 ID:7Yqzn8cc.net]
- >>537
代わりにformat()使おうね
- 558 名前:デフォルトの名無しさん [2019/03/05(火) 23:09:19.30 ID:gSGf6yDl.net]
- a = [d * 2 for d in 'abcde']
print(a) abcdeを5こずつ表示とかってできますか?
- 559 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 23:23:03.46 ID:eDzk8k/k.net]
- abcdeを5こずつ表示って
abcde abcde abcde abcde abcde abcde abcde abcde abcde abcde ..... と表示したいってことか?
- 560 名前:デフォルトの名無しさん [2019/03/06(水) 00:06:23.49 ID:3F/qov+q.net]
- >>540
はいです
- 561 名前:デフォルトの名無しさん [2019/03/06(水) 00:10:06.28 ID:XQpJaTFA.net]
- インタプリンタでこれ実行したらFalseなんですけど何をもってFalseと判断してるのか分かりません
(1,3,5) < (1,2,7)
- 562 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 00:10:39.87 ID:R/1sU7PR.net]
- 分岐のコメントってifの上か下、どちらが良いでしょうか
# 処理内容はxxx if flg # 処理内容はxxx 処理内容…
- 563 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 00:55:19.44 ID:oR6mPeK7.net]
- >>542
そうですか
- 564 名前:デフォルトの名無しさん [2019/03/06(水) 00:56:10.88 ID:3F/qov+q.net]
- >>542
falseになる理由を教えてください
- 565 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 00:59:18.54 ID:PXi0ytZJ.net]
- >>545
前から順番に比較していって同じなら次を比較し、異なるならそこで結果を返す この場合は3と2を比較して3 < 2 は False となる
- 566 名前:デフォルトの名無しさん [2019/03/06(水) 01:37:14.91 ID:Wfp2djOX.net]
- >>542
(a,b,c) < (d,e,f) は a<d or b<e or c<f と同じ
- 567 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 02:12:47.95 ID:ctS44w1M.net]
- お前ら嘘ばっか教えるんじゃないよ
(1,3,5) < (1,2,7) は 135 < 127の比較、当然 135がデカいからFalse >>542 絶対、信じろ
- 568 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 02:23:21.55 ID:Uli2bEJM.net]
- >>539-541
Ruby なら文字列に、掛け算(*)演算子も定義されているから、これだけ puts "abc" * 3 #=> abcabcabc
- 569 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 05:37:29.57 ID:MPL4boGu.net]
- リスト内を小さい順に並び替えて行く処理を書いてみた。
https://ideone.com/iK3JYA 上記ソースをリスト内包表現で実現できそうで色々試したりしましたがうまく行きませんでした。 もしリスト内包表現で表現できるならどう書けばよいのかご提示宜しくお願いします。
- 570 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 05:37:46.06 ID:A0Y4tMZt.net]
- >>547
>>> (1,3,5) < (1,2,7) False >>> 1<1 or 3<2 or 5<7 True >>548 >>> (1,3,5) < (1,2,7,9) False >>> 135 < 1279 True
- 571 名前:デフォルトの名無しさん [2019/03/06(水) 07:42:57.04 ID:3F/qov+q.net]
- >>546
>>547 >>551 ありがとうございます。 理解できました
- 572 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 08:25:20.58 ID:bBth0ZZS.net]
- >>542 正式ドキュメントのチュートリアル 5.8に詳しく書いてある。
要素を最初から辞書的に1つずつ比較。片方の要素がなくなれば終わり。 適切な比較順序がない場合は、インタープリターは TypeError 例外を発生させます。 (1, 2, 3) < (1, 2, 4) [1, 2, 3] < [1, 2, 4] 'ABC' < 'C' < 'Pascal' < 'Python' (1, 2, 3, 4) < (1, 2, 4) (1, 2) < (1, 2, -1) (1, 2, 3) == (1.0, 2.0, 3.0) (1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4) (1,2,3)<(1,'2',4) は、エラーになる。
- 573 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 08:51:37.17 ID:f/NWPYTA.net]
- >>549
死ね
- 574 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 11:29:05.92 ID:R/1sU7PR.net]
- withってどういう時に使うのが良いでしょうか
明示的に「これを中心にしたブロックです」と言いたいということでしょうか 変数に入れるのではダメですか?
- 575 名前:デフォルトの名無しさん [2019/03/06(水) 12:44:10.04 ID:qZuvgmSh.net]
- >>555
例えばファイルの読み書きの時 withを使うとブロックを抜けた時に自動でcloseされる 途中でエラーが出てもちゃんとcloseしてくれる 自前のクラスでも__enter__()と__exit__()を実装しておくとwithに入る時と出る時に呼び出されるので、前処理と後処理を忘れずにしたい時に使える
- 576 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 12:47:48.19 ID:R/1sU7PR.net]
- >>556
ありがとうございます これは便利ですね
- 577 名前:デフォルトの名無しさん [2019/03/06(水) 12:58:50.97 ID:pP8e2GTT.net]
- >>> [print(f'u{ord(_):04x}') for _ in 'いろは']
u3044 u308d u306f [None, None, None] >>> [print(f'{_:02x}') for _ in 'いろは'.encode('utf-8')] e3 81 84 e3 82 8d e3 81 af [None, None, None, None, None, None, None, None, None]
- 578 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 16:16:53.92 ID:w73Hgmg1.net]
- >>556
C#のusingと理解すればよき?
- 579 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 17:10:04.23 ID:+4ROOaYr.net]
- >>558 _ って何を表してるんだろうと思ったら、_ 1文字でも変数名として使えるんだね。
こう言う使い方は良いね。
- 580 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 18:21:37.77 ID:kGjUBYU2.net]
- >>539-541
import sys d='abcde' c=0 while 1: sys.stdout.write(d) c+=1 if c % 5 == 0: sys.stdout.write('\n') else: sys.stdout.write(' ')
- 581 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 18:57:59.23 ID:2Etc0l5z.net]
- >>561 何でそんなしち面倒臭いことするの? そもそもstdoutなんて必要ないだろ。 それに無限ループは絶対にダメ。
そんなことするくらいなら、それこそ print(' abcde '*5, '\n ') で済む話。 複数行にしたければお好きなだけループで回せば良い。
- 582 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:18:18.39 ID:kGjUBYU2.net]
- >>562
printつかうと余計な改行はいるだろ
- 583 名前:デフォルトの名無しさん [2019/03/06(水) 19:22:31.40 ID:nP+qIuYQ.net]
- print('abcde', end='')
とか sys.stdout.write('abcde') とか 面倒なのは許せ
- 584 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:24:34.96 ID:2Etc0l5z.net]
- >>563 1つのprint で書けば済む話。
- 585 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:30:59.83 ID:2Etc0l5z.net]
- >>564 ヘェ〜、勉強になる。
>>> print(1,end=''),print(2) 12 (None, None) このNone はなんで出るの? なんなの?
- 586 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:36:11.71 ID:b/S1njE3.net]
- >>566
「関数」というのは本来「なんらかの計算をして値を返すもの」 だからどんな関数も必ず何らかの値を返す 単に複数の処理をひとつにまとめただけで値を返す必要のないものでもな printは画面に文字列を表示するだけのものなので本来は値を返す必要はないんだが だからってわざわざ関数とは別の仕組みを作るのは面倒臭い だから「None(値なし)を返す関数」という形式で実装されているわけだ
- 587 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:40:21.23 ID:b/S1njE3.net]
- ちなみに一応「値を返す関数」と「値を返さない手続き」を別の枠組みとして扱っているプログラミング言語も存在する
VBAのFunctionとSubがそうだ
- 588 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 20:04:28.41 ID:2Etc0l5z.net]
- 勉強になるな。
下手な入門書より2chの方がためになることも多い。 まだ入門書も適当に読み飛ばしてる段階だけど。 2ch の記事は入門者のモチベーションを高めてくれる。
- 589 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:04:59.01 ID:XsTs8xzo.net]
- ふーん
- 590 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:45:22.45 ID:muSUG44X.net]
- >>373
Pydroid3
- 591 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:15:48.67 ID:2MUQBf9Y.net]
- ツンデレ関数 print()
- 592 名前:デフォルトの名無しさん [2019/03/07(木) 00:29:00.90 ID:1sghIh7a.net]
- オライリーのPythonチュートリアル分かりにくいい
これを元に資格試験を作ってるんだよね?
- 593 名前:デフォルトの名無しさん [2019/03/07(木) 00:35:34.48 ID:FPeGgUJ/.net]
- >>573
資格試験ってなんだ? 公式サイトの和訳のやつなら Web版が随時アップデートされてるよ
- 594 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 00:53:48.36 ID:l1bMfloe.net]
- >>573
Pythonに資格試験なんて存在しません 非公式の資格詐欺は知らんけど
- 595 名前:デフォルトの名無しさん [2019/03/07(木) 01:01:50.93 ID:1sghIh7a.net]
- >>574
>>575 資格試験って言い方が間違ってたらすまん Python 3 エンジニア認定基礎試験てのを受けるんだけど それの認定教材がオライリーのやつでwebで見てるんやけど 分かりにくいなって思ったそれだけ
- 596 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:15:05.56 ID:k6ZLJER9.net]
- >>573 試験範囲がそこから出されると言うだけの話だよ。
公式チュートリアルと変わりない。 それの書き写しがオライリーのだから。 どちらも全くの初心者には難しいと感じるみたいだから、そう言う人は先ずその前に超初心者用的な入門書をいくつか読んだ方が良いのでは? その類は対して読むのに時間はかからない。 ネットに落ちてるものでも十分。 ただし、自分で書いて練習することが重要。 jupyter でもなんでも良いから確認する環境を作ること。 読むだけでは身につかない。
- 597 名前:572 [2019/03/07(木) 01:20:20.63 ID:FPeGgUJ/.net]
- >>576
洋書特有の文体だから慣れてないと違和感あるけど 言語のチュートリアルとしては良い方の部類だよ ただ他の言語をマスターしてることが前提のところあるから ガチ入門者なら国産の本を勧める NECがスポンサーの試験か・・・ Pythonに力入れてるイメージはないがどうなんだろ
- 598 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 02:47:07.76 ID:7hJ/R58z.net]
- .,、- ' `´  ̄ ̄` ''‐ 、
,r'´ .`ヽ、 /. -t‐'''l´ .`l'‐t、 .\ /´. 'lliiiill lliiii!. ヽ, ./ __ i,_,ノ .i, ,! ', な、なんなんですか…? { (´__,) ,..., ~ (`ヽ l .l - 、..,_ .l_ i ,、-"'-、 l ここ、どこですか…? .l `i .l,_ソ f´ .l ', ノ .l, ,' どうして私、こんなとこに貼られてるんですか…? '、 ,.、-' .,' 'i、 ー一 '´ /':, l ヽ, ノ } .l `‐、,_ ._,.-.' ,' l `‐- 、,........,..、-‐'` / .\_ ノ l ,/ `'''ー‐ '´ ヽ、 _, -'  ̄ ̄
- 599 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 02:50:45.25 ID:bl19yUau.net]
- 殺人ピンク玉は去れ
- 600 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 03:49:17.97 ID:9XzeaP/N.net]
- >>529
Decimal で文字列使う https://i.imgur.com/QQ0npTS.jpg
- 601 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:12:07.95 ID:wzWG3iLc.net]
- 3000円もする専門書買うよりさ、わからないことがあったらネットで調べれば無料で答えがみつかるよ。
英文でも翻訳ソフト使えばいいだけだし。 ネットで調べても答えが見つけられないやつは、そもそもプログラミングに向いてないんじゃないか。
- 602 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:42:09.79 ID:E2eXaClF.net]
- 公式チュートリアルで良いだろ。
Japanese 指定して一括ダウンロードすればPDFが大量にある その中のtutorial 開くと日本語訳 tutorial (pdf版)が入手できる
- 603 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:50:54.08 ID:IMd+ImAh.net]
- ソース嫁からググれカスに移行したが今ではググったらカスばっか。
- 604 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 11:38:00.92 ID:Gktreo0e.net]
- LearnPython.orgやCodeacademyみたいにWeb上でインタラクティブシェル開いて
一つ一つお題を実行させる形式のも良いんじゃない。 読んでるだけじゃなかなか身につかないよ
- 605 名前:デフォルトの名無しさん [2019/03/07(木) 14:15:07.44 ID:N/cPeE83.net]
- >>567
そういえば >>> print(1) 1 だとNoneは表示されないのに >>> print(1, end=''),print(2) 12 (None, None) のときだけ表示されるのは変だと思わない?
- 606 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 14:31:29.61 ID:E2eXaClF.net]
- >>586 下はタプルだからだろ。
- 607 名前:デフォルトの名無しさん [2019/03/07(木) 15:40:41.57 ID:lgGD2eax.net]
- >>586
None単体の場合は表示されないようにインタラクティブシェルがなってる >>> None >>>
- 608 名前:デフォルトの名無しさん [2019/03/07(木) 16:03:31.61 ID:aOVGrksh.net]
- >>566
>>> print(1, end='') or print(2) 12
- 609 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 16:38:38.56 ID:UepKFInK.net]
- 以下のURLを参考に、フォントファイルから画像を描画しようと思っています
指定した文字がフォントファイルにあるかどうかの判定は、どのようにすれば良いでしょうか? d.hatena.ne.jp/nakamura001/20101228/1293522309 それとも一度描画して、真っ白かどうかで判定・・・しかないでしょうか pprintで取得したところ、参照のような感じと思いますが、以下のようになりました。 <PIL.Image.Image image mode=RGB size=256x256 at 0x13FF7DEE2E8>
- 610 名前:デフォルトの名無しさん [2019/03/07(木) 16:58:16.83 ID:aOVGrksh.net]
- freetypeならFT_Get_Char_Index
- 611 名前:デフォルトの名無しさん [2019/03/07(木) 17:01:47.98 ID:aOVGrksh.net]
- ここも参考になるかな
https://qiita.com/496_/items/f6efb650dcf7e9d2dfe4
- 612 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 17:34:33.92 ID:UepKFInK.net]
- >>591-592
ありがとうございます 使い方を教えていただけないでしょうか 引数が二個必要とかいてると思うのですが https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_Get_Char_Index 実際に二個設定するとエラーがでます import pprint import freetype face = freetype.Face('C:/Users/a/font/src.ttc') pprint.pprint(freetype.FT_Get_Char_Index(face,"33")) これはエラーになります import pprint import freetype pprint.pprint(freetype.FT_Get_Char_Index("33")) OSError: exception: access violation writing 0x000001CA5F00FF01 お助け下さい
- 613 名前:デフォルトの名無しさん [2019/03/07(木) 17:49:06.09 ID:aOVGrksh.net]
- 先にinit呼べ
- 614 名前:デフォルトの名無しさん [2019/03/07(木) 17:53:31.19 ID:aOVGrksh.net]
- FreeTypeの使い方 https://qiita.com/496_/items/6d2540e26d66c9ed5f9a
OpenTypeの仕様前編 https://qiita.com/496_/items/f6efb650dcf7e9d2dfe4 OpenTypeの仕様中編 https://qiita.com/496_/items/4f8327fe741cf0c87736 OpenTypeの仕様後編 https://qiita.com/496_/items/02f2d63fe4bd5603e4dc
- 615 名前:デフォルトの名無しさん [2019/03/07(木) 19:18:41.40 ID:aOVGrksh.net]
- FONT_PATH = b'mikaP.ttf'
ft2 = ctypes.windll.freetype ft2lib = ctypes.c_void_p() ft2.FT_Init_FreeType(ctypes.byref(ft2lib)) face = ctypes.c_void_p() font_path = ctypes.create_string_buffer(FONT_PATH) ft2.FT_New_Face(ft2lib, font_path, 0, ctypes.byref(face)) idx = ft2.FT_Get_Char_Index(face, b'A'[0]) print(f'{idx:04x}') # 0023 idx = ft2.FT_Get_Char_Index(face, ord('あ')) print(f'{idx:04x}') # 07bd ft2.FT_Done_Face(face) ft2.FT_Done_FreeType(ft2lib) 一応動いた
- 616 名前:デフォルトの名無しさん [2019/03/07(木) 19:21:06.42 ID:aOVGrksh.net]
- idx = ft2.FT_Get_Char_Index(face, ord('鷗'))
print(f'{idx:04x}') # 38c1 idx = ft2.FT_Get_Char_Index(face, ord('𠮟')) print(f'{idx:04x}') # 0000
- 617 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 20:31:42.10 ID:VtililUQ.net]
- >>581
これ何使ってんの? スマホだよね?
- 618 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 20:32:20.69 ID:VtililUQ.net]
- >>582
いい本に出逢えばそれに越したことはない
- 619 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 21:37:32.00 ID:D1nw//Ty.net]
- >>598
Pythonista 3 iPad, iPhone のアプリ
- 620 名前:デフォルトの名無しさん [2019/03/08(金) 01:56:52.91 ID:FktPmjXq.net]
- i = 10
def num(arg=i): print(arg) i = 7 num() iはどちらもグローバル変数ですよね? 関数の中身変えて7の方を出力させることってできますか?
- 621 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:04:22.64 ID:Nky3or7z.net]
- def num(arg=None):
arg == i print(arg)
- 622 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:05:04.82 ID:Nky3or7z.net]
- def num(arg=None):
_arg = i _print(arg) の誤り
- 623 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:15:56.15 ID:5FsfaYFV.net]
- >>601
https://i.imgur.com/2LoxSbi.jpg
- 624 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:20:26.52 ID:5FsfaYFV.net]
- >>603
https://i.imgur.com/FNgAPWr.jpg
- 625 名前:デフォルトの名無しさん [2019/03/08(金) 02:47:32.14 ID:FktPmjXq.net]
- >>604
ありがとうございます でも7になる理由がわかりません。 どういった処理になるのか教えて欲しいです、
- 626 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 06:55:10.03 ID:49yeJutG.net]
- >>600
ありがとー
- 627 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 11:24:52.69 ID:enrIbZX0.net]
- >>606
i = 10 def num(arg=i): print(arg) i = 7 num() この場合は、def を定義するときにarg= でarg のデフォルト値をセットする。 この時の i は 10だろ。 まだ下の行は実行されていないんだから。 i = 10 def num(arg=None): arg == i print(arg) i = 7 num() この時のnum内の実行文は実行されたときに動くんだから、i=7 がセットされた値を参照する事になる。 関数のデフォルト値は関数を定義したときに決定される。 関数内の実行文は実行時に決定される。
- 628 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 11:33:20.13 ID:5FsfaYFV.net]
- >>608
>この時の i は 10だろ。 まだ下の行は実行されていないんだから。 実行されるときの i は7だろ。
|

|