くだすれPython(超初心者用) その36

■ このスレッドは過去ログ倉庫に格納されています
2018/01/01(月) 20:18:42.82ID:iOcRvNll
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その35
http://mevius.5ch.net/test/read.cgi/tech/1496411341/
VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
2018/01/10(水) 16:58:49.46ID:uWMTsG/V
>>43
今使ってるPCはもう限界なので待つのは厳しい。。
新しいのがでるのは3月か6月ごろなようなので長い
2018/01/10(水) 17:52:19.30ID:Dg+5gWi5
OSにこだわらないのであれば結構選択肢はあるよ
2018/01/10(水) 18:13:19.35ID:XD3nGTcX
def test_func():
print('call test_func')

test_func()
をコマンドプロンプトから実行しようとすると

File "<stdin>", line 4
test_func()
^
SyntaxError: invalid syntax
>>>
って出るんだけどなんでですか?
2018/01/10(水) 18:19:00.03
目に見えない文字が入ってるから
最後の行とその上の空行も全部消してから書き直す
2018/01/11(木) 13:55:06.55ID:Rdhkb3Oy
>>48
ありがとうございます
50デフォルトの名無しさん
垢版 |
2018/01/13(土) 22:24:55.51ID:BAsP1Vyl
下記のような配列を作ってその中から条件を満たしているものの中で
価格が最大値のものを検索するということがしたいのです。

品目     条件     価格
りんご     OK     100  
みかん     OK     200
れもん     NG     300

1.この場合、配列は下記のようなリストを作ればよいのでしょうか?

list=[[りんご, OK, 100], [みかん, OK, 200], [れもん, NG, 300]]

2.上記1.のアプローチが正しいとして、上記リストにおいて、条件がOKのもので価格が一番高いものの
配列の番号(または品目)を取得する方法をどなたかお教えいただけないでしょうか。
(辞書でもリストでも何でも良いのでが上記の表のような配列の裁き方が検索しても見つけられず・・・)
2018/01/14(日) 00:20:35.69ID:t0jHIC/R
max関数を調べてみるとよい
2018/01/14(日) 01:00:13.30ID:rilCPocj
>>50
Pythonじゃなきゃダメ?
正直、データベースソフトでやるべき案件だと思う
どうしてもPythonでやるなら、内包表記を使ってリストから
条件に合う要素を抜き出して新しいリストを作り、データを絞り込んで行く

>>> a = [['りんご', 'OK', 100], ['みかん', 'OK', 200], ['れもん', 'NG', 300]]
>>> ok_list = [elem for elem in a if elem[1] == 'OK']
>>> ok_list
[['りんご', 'OK', 100], ['みかん', 'OK', 200]]
>>> max_price = max([elem[2] for elem in ok_list])
>>> max_price
200
>>> name = [elem[0] for elem in ok_list if elem[2] == max_price]
>>> name
['みかん']

あと、list=[[りんご, OK, 100], [みかん, OK, 200], [れもん, NG, 300]] と最初にあったが
変数名にlistなどのPythonに元からあるオブジェクト名そのまんまを使うのは避けよう
エラーの元になる
2018/01/14(日) 01:32:55.95ID:YcirJyIj
>>52
Pythonスレで Pythonじゃなきゃダメ? ってオイオイだろ
これなんか学校の課題って気がする

list=[["りんご", "OK", 100], ["みかん", "OK", 200], ["れもん", "NG", 300]]
l_OK = [item_OK for item_OK in filter(lambda list_item : list_item[1] == "OK", list)]
#l_OK = [item for item in list if item[1] == "OK"]
print( max(l_OK, key=(lambda item_OK: item_OK[2]) )[0] )
54デフォルトの名無しさん
垢版 |
2018/01/14(日) 02:18:12.29ID:yVTJx4nd
pandas使え
5550です
垢版 |
2018/01/14(日) 08:27:28.43ID:krdFkWsl
50です。みなさんご回答ありがとうございます。

>>51
検索すると色々あるのですが分かりそうで分からず…。

>>52, >>53
ありがとうございます!いずれの方法でもできました。
一度条件で抽出してからmax使うのですね(そこに思い至りませんでした…)

>>54
後々触ってみたいとは思うのですが、この程度のデータなのでまずは基本的なことを知りたいと思いまして。
2018/01/14(日) 10:39:38.00ID:TwgO/caM
pandasのstr.containsとかって、真偽反転するとき“~”を付けるじゃないですか
この波線って、pythonの側のビット演算子ですか?
strアクセサ用のオプション記号?

x=1
tf=2 in x
print(~tf)
とかで試してみるとT/Fではなく数字が出てくるので、strアクセサ用の機能?
2018/01/14(日) 13:23:26.45ID:0mtDcMfe
>56
in を使うなら、x=[1]とするべきでは?
また、否定演算子は~でなくてnotを使うべき。
~は、ビット毎の反転をとる演算子。Trueは1、Falseは0とみなして計算されるはず。
58デフォルトの名無しさん
垢版 |
2018/01/14(日) 14:50:25.95ID:79VwseEt
だれもそんな話はしてないぞ
2018/01/14(日) 15:32:15.53ID:DgdnagvN
>>50
もう解決してるみたいだけど
価格が0または正だと仮定していいなら
print(max(list, key=(lambda x: x[2] if x[1] == 'OK' else -1)))
とすれば要素の抽出とかはなくてもいける
ただし'OK'のものが一件もないと価格が'NG'のものを返すので注意が必要
6050
垢版 |
2018/01/14(日) 15:34:13.85ID:DgdnagvN
> 価格が'NG'のものを返す
価格じゃなくて条件だったわ
2018/01/14(日) 15:57:09.64ID:/4CphuTL
>>56
配列の番号(と品目)を取得するようにしたニダね

list=[["りんご", "OK", 100], ["みかん", "OK", 200], ["れもん", "NG", 300]]
dic_OK = {list_idx:list_item for list_idx,list_item in enumerate(list) if list_item[1] == 'OK'}
list_index = max( dic_OK, key=(lambda dkey: dic_OK[dkey][2]) )
print( 'List index:', list_index )
print( 'Item name:', list[list_index][0] )
2018/01/14(日) 16:27:06.07ID:/4CphuTL
>>59
ついでに、max()使うとOKフラグ付きの同じ最高価格の物が複数あると困ったニダになるからな
6350
垢版 |
2018/01/14(日) 16:31:48.67ID:DgdnagvN
よくよく考えたらmax()のキーにタプルを返すようにすれば
> 価格が0または正だと仮定していいなら
の制限は要らなかったな
print(max(list, key=(lambda x: ( x[1] == 'OK', x[2]))))
> ただし'OK'のものが一件もないと条件が'NG'のものを返すので注意が必要
の方はそのままだけど
2018/01/14(日) 16:33:19.71ID:DgdnagvN
>>62
そこは要件次第でしょ
65デフォルトの名無しさん
垢版 |
2018/01/14(日) 17:34:08.11ID:CiqP7kj2
なぜ、後になるにつれてこうも劣化していくのか

>>52
>変数名にlistなどのPythonに元からあるオブジェクト名そのまんまを使うのは避けよう
その気持ちよくわかります
2018/01/14(日) 19:43:47.38ID:GEVmZqF5
print({1,2,3})

と実行すると

{1,2,3}

と出力されます。

s1 = {1,2,3}
s2 = {4,5,6}

print(str(s1) + " -> " + str(s2))

と実行しても

{1,2,3} -> {4,5,6}

とは出力されません。

{1,2,3} -> {4,5,6}

と出力するにはどうすればいいのでしょうか?
2018/01/14(日) 20:05:47.59ID:rilCPocj
>>66
自分のPython3.6.3ではそのコードで意図通り表示されたよ
そちらはどう表示されるの?
2018/01/14(日) 20:13:42.00ID:EtO+GVJz
>>67
欲しいのは、{1,2,3} -> {4,5,6} で
{1, 2, 3} -> {4, 5, 6} じゃいやぽ
だから、なんとかしてじゃないのか
2018/01/14(日) 20:50:44.02ID:ZtH88FLC
formatなり空白をreplaceなりすればいい
2018/01/14(日) 21:01:00.84ID:rilCPocj
>>68
自分の環境(Windows7, Python3.6.3)では最初からスペースが入るからよくわからんね
質問者からの追加説明を待ちたい

>>> print({1,2,3})
{1, 2, 3}
2018/01/14(日) 21:30:58.89ID:0mtDcMfe
{}は、set
setは、順序を保持しない
順序を保持したいなら、[4,5,6]とlistを使うのがよい
2018/01/15(月) 16:27:23.26ID:oyJFiKwa
>>50-65
漏れは、色々な言語で、最大値を持つオブジェクトを取得する、方法を研究しているが、
最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い!

どの言語でも、最大値は1つであると、仮定されているから

例えば、Ruby のminmax。
最大・最小値が複数ある場合は、どの要素が取得できるかは、不定です!
2018/01/15(月) 16:57:20.16
C#のリスト型.Max関数は最大値そのものを返す
んでWhereメソッドでその最大値を持つ要素を抽出する
2018/01/15(月) 20:04:38.28ID:dgT2VGvQ
>>72
> 最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い!
>>73 もしくは t-sql で rank() とか使うとかかな
75デフォルトの名無しさん
垢版 |
2018/01/15(月) 20:20:13.07ID:uVak3BOk
>>55
>一度条件で抽出してからmax使うのですね
こんなこと(条件を満たすもの全て抽出)はしないで俺様関数を作って
俺様関数中で条件を満たすものピックアップしながらmaxを探すとかするんじゃないのか
2018/01/15(月) 20:27:35.79ID:uVak3BOk
>>74
最大値が複数ある場合に、標準関数で簡単に取得できる方法がないなら
自分で望みのことする関数なんかを作れだろうな
2018/01/16(火) 01:25:21.93ID:/gUVmc1B
最大値が複数有る時にmax要素を含むモノを返す処理
俺にも教えて。

l=[1,2,2,3,4,5,5,7,8,9,9]

import collections
x=collections.Counter(l)
print(x)
2018/01/16(火) 01:36:02.64ID:/gUVmc1B
どうすれば、いいんでちゅかぁ?wwwwwwwwww

 ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐


from collections import Counter
print( Counter('abracadabra').most_common(3) )


cnt = Counter()
for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
cnt[word] += 1
print(cnt)



あぁ? ああああああああああああ あばばばばばばばばばあwwwww
2018/01/16(火) 03:20:20.16ID:/gUVmc1B
答え合わせのお時間でチュよぉおおおおおwww

 ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐


import collections

l='abbabacccddeee'
r = collections.Counter(l)
print (r.most_common(2))#取り出す個数wwwwwww


あああああああああああああーーーーーーーーーーwwwwwwwww

 取り出す個数を求めるの忘れて待ちたぁああああああwwwwwwww
2018/01/16(火) 04:05:37.35ID:/gUVmc1B
はいっ! はいっ!!  

「ハイ! ハイ!」  「ハイ! ハイ!」

ぶひいいいいいいいいいいwwwww

  「アイィィィ!ポイ!ポイィィィ!」

「んっ! 」 「んっ!」

35歳 「あっ。あっああ。。。」 「あっ。あっああ。。。」

    遊園地「ぶひいいいいいいいいいいwwwww」

ぬーぷ 「冬の大空に降り注ぐ彗星」


35歳&ぬーぷ&遊園地「 はいっ! はいっ!! 」

 「ぶひいいいいいいいいいいwwwww」 ( ゚д゚ )クワッ!!  ヘ(゚∀゚ヘ)アヒャ ┌(_Д_┌ )┐
2018/01/16(火) 07:35:11.81ID:4oyR/FiU
pythonがこの先生きのこるには
http://mevius.5ch.net/test/read.cgi/tech/1167996371/
2018/01/16(火) 09:23:58.14
なんか怖い人が居るんだけど...
2018/01/16(火) 13:38:54.40ID:1yOH1J8J
Ruby で作った

scores = [1,2,9,2,3,9,7]

results = scores.each_with_object([]).with_index do |(score, ary), i|
if ary.empty? || ary[0][0] == score
ary << [score, i]
elsif ary[0][0] < score
ary.clear
ary << [score, i]
end
end

results.each do |item|
puts "score: #{item[0]}, index: #{item[1]}"
end

出力
score: 9, index: 2
score: 9, index: 5
2018/01/16(火) 15:50:10.04ID:/gUVmc1B
どうしても、言いたい事が有るので、聞いて下さい。

 「氣持ちいぃいいいいwwwwいいぃぃいんぽおおおおおおおおおおおwwwww」



>>83
数値のmax要素を取得してるから、もっとも多い要素の複数を返す。
と言う、仕様には使えない。

多い要素を取得のハズが数値MAX取得でNG
https://ideone.com/Cj8JYJ

試験データ型
scores = [1,2,9,2,3,9,7,3,3,2]

返り値
要素 2,3
index 1,3,9 4,7,8
2018/01/16(火) 15:57:30.63ID:/gUVmc1B
正規表現で実装する方が良いかも。

   大丈夫だwっw 俺より凄い奴が出て来て助言してくれるぞwww

ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐
86デフォルトの名無しさん
垢版 |
2018/01/16(火) 16:20:42.45ID:qp2ox4Ew
>>78
[('a', 5), ('b', 2), ('r', 2)]
Traceback (most recent call last):
File "C:/Users/banbarori5/myscript.py", line 7, in <module>
cut[word] += 1
NameError: name 'cut' is not defined
2018/01/16(火) 16:25:25.03ID:ANYFrcmB
まずmaxを求めて
次にmaxと一致するものをリスト内包で抜き出すのが
Python流の思想
同時にやろうとするのはC++の発想なので違う
データベースの副問い合わせみたいなもんだな
2018/01/16(火) 18:39:09.09ID:/gUVmc1B
>>86
公式ドキュメントに記載されてるコード
エラーは基本ない。

https://ideone.com/rkTRuh
2018/01/16(火) 18:45:08.51ID:1yOH1J8J
>>83
のやり方なら、全要素を1回の走査で済むけど、バグる可能性が高くなるから、

一旦、最大値を求めてから、改めてその最大値を使っている要素を、探した方が良さそう。
ただし、このやり方では、2回の走査になる
2018/01/16(火) 19:06:05.28ID:/gUVmc1B
取り敢えず、動くモノはできた。

誰か 整形 はよぉおおおおおおおおおおおwwwwwwwww

 https://ideone.com/nAscvc

もしくはぁああああwwww  誰か書き直してぇええええええええ
2018/01/16(火) 19:30:01.48ID:/gUVmc1B
くだすれPython(超初心者用) その33©2ch.net

914 :デフォルトの名無しさん:2017/05/24(水) 17:14:04.97 ID:rw+7fc+A
>>913
雪風は人間初心者だろ?死ねよ


俺を挑発した奴www 出てこいコノヤローーーーwwww
2018/01/16(火) 19:59:16.13
何がしたいのかまとめてくれよ
2018/01/16(火) 20:14:53.61ID:/gUVmc1B
1.最大値が複数有る時にmax要素を含むモノを全て返す処理
2.要素数が多いモノをindex付きで、全て返す


2のデータ
[1,2,9,2,3,9,7,3,3,2]

2の望む出力
{2:[1,3,9], 3:[4,7,8]}


1のデータ
{2:[1,3,9], 3:[4,7,8],9:[2,5,9]}

1の望む出力
{2:[1,3,9], 9:[2,5,9]}


お願いします。





君とぉおおおおおおおおおおお ちゅーーーしたぁあああうぃいいwwwっw??

 あなーーーーたーーーがw0−−−−wwww 好きだからぁあらあらあぁあwww

NOnoooo のんぉおおのぉお とぉおおおおをおをおををっをwww
2018/01/16(火) 22:29:00.66ID:1yOH1J8J
Ruby で作った。
同じ数字でグループ化して、要素数が最大になったものを取得する

scores = [1,2,9,2,3,9,7,3,3,2]

groups = scores.group_by { |num| num }
max_item = groups.max_by { |num, ary| ary.length }

groups.select! { |num, ary| ary.length == max_item[1].length }
p groups

出力
{2=>[2, 2, 2], 3=>[3, 3, 3]}
9594
垢版 |
2018/01/16(火) 22:31:53.14ID:1yOH1J8J
94 は、間違い

インデックスが取得できていない
9694
垢版 |
2018/01/16(火) 23:50:04.19ID:1yOH1J8J
94 の続きに、以下を付け足して

results = groups.each_with_object({}) do |(num, ary), h|
scores.each_with_index do |num2, i|
if num == num2
if h[num]
h[num] <<= i
else
h[num] = [i]
end
end
end
end

p results

出力
{2=>[1, 3, 9], 3=>[4, 7, 8]}
9794
垢版 |
2018/01/17(水) 00:52:52.06ID:oOmqXI7v
Ruby で作った。
すべての配列を連結・平坦化して、最大値を探す。
その最大値を含むものだけを残す

groups = {2=>[1,3,9], 3=>[4,7,8],9=>[2,5,9]}

ary = groups.each_with_object([]) { |group, ary| ary << group }
max_num = ary.flatten!.max

results = groups.select {|key, ary| ary.include?(max_num) }
p results

結果
{2=>[1, 3, 9], 9=>[2, 5, 9]}
2018/01/17(水) 03:14:18.29ID:M6pIuyeF
Pythonのお勉強 Part55  

 スレッドで解答が有りました。


310 名前:デフォルトの名無しさん 2018/01/16(火) 22:18:39.43 ID:x5Aoa3gi
>>> #1のデータ
>>> d = {2:[1,3,9], 3:[4,7,8],8:[2,5,9]}
>>> max_value = max([max(value) for value in d.values()])
>>> [d.pop(key) if max_value not in value else None for key, value in d.copy().items()]
[None, [4, 7, 8], None]
>>> d
{2: [1, 3, 9], 8: [2, 5, 9]}
>>>
>>>
>>> #2のデータ
>>> from collections import defaultdict, Counter
>>> from itertools import compress
>>> l=[1,2,9,2,3,9,7,3,3,2]
>>> d = defaultdict(list)
>>> [d[value].append(idx) for idx, value in enumerate(l)]
[None, None, None, None, None, None, None, None, None, None]
>>> c = Counter(l)
>>> selector = [count == c.most_common(1)[0][1] for num, count in c.items()]
>>> dict(compress(d.items() , selector))
{2: [1, 3, 9], 3: [4, 7, 8]}
>>>
2018/01/17(水) 03:16:41.94ID:M6pIuyeF
質疑応答  回答 が 有りました?

 答えてくれて人に感謝ですぅううううwwwww ほわええええええ

「ほぇ? ほぇええええええええええええええええwwwww」
2018/01/17(水) 09:50:35.82ID:tGzDYIkw
リスト内の要素に指定した文字列が含まれるのを検出したいとき
F="ex"
L=["exe","zip","tex"]
for i in L:
if i in F
というような処理しか知らないんですが、普通はどうやるんでしょうか
2018/01/17(水) 10:29:50.20ID:bWxGsVYn
複数の環境でpythonを走らせるため、
if sys.version[0] == "2":
print "hoge"
else:
print("hoge")

というふうなコードを書いたのですが、python3で走らせようとしたら
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(txt)?
と、実行時には無視されるはずのところで怒られます。どうすればよいでしょう.
2018/01/17(水) 11:00:53.63ID:puvPFdX2
>>101
syntaxエラーは実行時のエラーじゃなくて
コードを読み込むときに出るエラーだから実行時に無視されるところでも出ちゃうね
「インデントの数が間違ってる」とかと同じ

exec関数を使って
if sys.version[0] == "2":
__exec('print "hoge"')

とか考えてみた(ちょっと強引な気もするけど)

多分ちゃんとしたやり方はimport __future__で
python3の機能をpython2でも使えるようにするもんだと思うけどね
2018/01/17(水) 11:13:56.25ID:puvPFdX2
>>100
別にそのやり方でも問題ないと思うけど
リスト内包表記を使うやり方もある

[i for i in L if F in i]

って感じで

この場合「Lに含まれるアイテムiのうち、Fという言葉が含まれるものだけでリストを作る」って意味になり
["exe","tex"]っていうリストを一行で作ることができるから
検出した文字列に何か操作したりしたいときは便利かもしれない
104デフォルトの名無しさん
垢版 |
2018/01/17(水) 11:33:04.51ID:wKG3wA1V
i for i
2018/01/17(水) 12:32:45.31ID:tGzDYIkw
>>103
なるほど
勉強になります
2018/01/17(水) 16:47:12.76ID:L6sUceLv
やりたい事が無い。

 どうしよう。。。
2018/01/17(水) 17:06:57.48ID:Gaok5e8Q
音声ファイルを読み込んでそれのスペクトログラムを作りたいのですが
やり方を教えてください
108デフォルトの名無しさん
垢版 |
2018/01/17(水) 17:54:25.88ID:Iu2MWvIi
概出
109デフォルトの名無しさん
垢版 |
2018/01/17(水) 18:43:16.63ID:mMlmLaaw
百人一首をテキストベースで、上の句から一文字ずつ表示されるようなことは出来ますでしょうか?

例えば、
はなのいろは うつりなけりな いたずらに
という上の句がある場合、

はな
はなの
というようにごく短い間隔で表示される量が増えて行きます。

これがもし可能なら、この句の下の句は、
わがみよにふる ながめせしまに
なのですが、waとローマ字入力すると、OKで次の句に進むようにしたいです。
本当なら間違いの時の処理も考えたいのですが、一種の暗記カード的利用のためのプログラムを作ってみたいと思っています。
どなたかご教示いただけるとありがたく存じます。
2018/01/17(水) 19:47:01.24ID:Bm/HPyIQ
x="とんかつ"
y="とんかつ(ヒレ)"
z=re.match(x,y)
これは期待通りの動作なんですが
x="とんかつ(ヒレ)"
y="とんかつ(ヒレ)(大盛り)"
z=re.match(x,y)
だとNoneになります。どうしてでしょうか?
2018/01/17(水) 19:48:40.75ID:L6sUceLv
マッチしてないからぜよ。
2018/01/17(水) 20:04:45.54ID:L6sUceLv
re.match(x,y)
文字列の先頭で正規表現とマッチするか判定します。
多分rと() 括弧の違い

import re

z=re.match(r"とんかつ","とんかつ(藍蘭島)")

print(z)

if z:
print (z.group())
113デフォルトの名無しさん
垢版 |
2018/01/17(水) 20:05:13.31ID:L6sUceLv
<_sre.SRE_Match object; span=(0, 4), match='とんかつ'>
とんかつ
2018/01/17(水) 20:09:16.23ID:L6sUceLv
検索側の()が邪魔してるな。
2018/01/17(水) 20:10:05.14ID:aINj1+iA
>>110
半角括弧は正規表現のグループ化構成体。従って2番目のxをre.matchで使うと
単に「とんかつヒレ」を探し、ヒレの部分をグループに突っ込もうとする
正規表現の特殊文字をマッチさせるならバックスラッシュ(円記号\)でエスケープ
116デフォルトの名無しさん
垢版 |
2018/01/17(水) 20:14:53.84ID:L6sUceLv
import re
x="とんかつ(ヒレ)"
y="とんかつ(ヒレ)(大盛り)"

print (re.match(x,y) )
2018/01/17(水) 20:38:40.62ID:L6sUceLv
今日からお前は富士山だ!!

 おちんぽ おちんちんがぁああああああああああ  おちんちんびーーーーむ!!!
2018/01/17(水) 21:17:58.09ID:Bm/HPyIQ
>>115
なるほど、よくわかりました
実は検索文字はジェネレーターでたくさん出てくるため状況に応じてエスケープ記号を挿入できないっぽかったので
map(re.escape,テキストリスト)して上手くいきました
どもでした
119デフォルトの名無しさん
垢版 |
2018/01/18(木) 02:55:54.46ID:MkqD6lAI
>>109
北斗の拳でぐぐれ
120デフォルトの名無しさん
垢版 |
2018/01/18(木) 04:30:10.01ID:HxtiIiOG
>>109
ファイルは自分で読み込んで。

  https://ideone.com/gLSYKm
121デフォルトの名無しさん
垢版 |
2018/01/19(金) 01:15:22.49ID:PdcBS2Hw
#!/usr/bin/python
# -*- coding: utf-8 -*-

html_body = """
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-JP">
</head>
<body>
<h1>漢字かなカナ</h1>
</body>
</html>
"""
print(html_body)

こんな感じでHTMLを出力したいのですが文字コードがshift_jisになってしまって文字化けします。
<meta charset="utf-8">でも同様です。
どうすれば正常に表示できますか?よろしくお願いします。
2018/01/19(金) 03:21:42.12ID:ixhrA0RJ
そのスクリプトファイルを、UTF-8 で保存すれば?
2018/01/19(金) 03:36:31.72ID:sKGPJBpd
<meta charset="EUC-JP">   を

<meta charset="UTF-8">    に変更だよーーーんwww
124デフォルトの名無しさん
垢版 |
2018/01/19(金) 06:20:42.93ID:zZu5/UvX
sys.stdoutを設定すれば?
2018/01/19(金) 06:42:17.46ID:GujNruCj
ああ!ソレじゃないかな、Python3の標準出力はプラットフォームのロケールに依存するので
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), 'EUC-JP')
みたいな事をしないとそれ以外の文字コードで出力できない。保存コードがSJISな可能性もあるけど
126デフォルトの名無しさん
垢版 |
2018/01/19(金) 10:40:56.08ID:A90894OZ
>Python3の標準出力はプラットフォームのロケールに依存するので
そうでもない
2018/01/19(金) 11:04:43.09ID:fouJmeJy
>>121
windowsのメモ帳使ってたりしないよな?
テキストエディターの設定でutf-8に変えられないかな?
2018/01/19(金) 12:05:59.49ID:vi/4PmUg
native2asciiコマンドでいけるかな
2018/01/19(金) 18:22:13.31ID:9YVUMHwh
こんにちは
「初項n、公差mの等差数列をスペース区切りで表示するプログラムを記述しなさい」が解けません
m,n=[int(i) for i in input().split()]
for i in range(10):
if i==10:
print(m+n*i, end='\n')
else
print(m+n*i, end=' ')
で解答そのものは合ってるんですけどNGが出るんですよね…
130愛知人
垢版 |
2018/01/19(金) 18:26:00.34ID:QV4koCPF
正解の出力うp
131愛知人
垢版 |
2018/01/19(金) 18:33:22.63ID:QV4koCPF
range(10)→[0,1,2,3,4,5,6,7,8,9]
2018/01/19(金) 18:34:38.63ID:9YVUMHwh
あっ
2018/01/19(金) 18:34:53.05ID:9YVUMHwh
そういうことでしたか…
ありがとうございます
2018/01/19(金) 21:23:44.01ID:HbIFkzGZ
「qutebrowser」というソフトをインストールする際
$ tox -e mkvenv-pypi
というコマンドで
InterpreterNotFound: python3
というエラーが出てしまいます。
pathも通しておりpython --versionもできます。
「qutebrowser」のバグであればisueに書くのですが
自分のpythonの知識不足が原因の可能性が高いのでこちらで質問させていただきました
よろしくお願いします

OS:windows7 64bit
python:3.7.0a4 64bit
135デフォルトの名無しさん
垢版 |
2018/01/20(土) 01:03:22.83ID:81nWAu9S
>>122-128
>>121 です。
#!/usr/bin/python
# -*- coding: EUC-JP -*-
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), 'EUC-JP')
~~~
<meta charset="EUC-JP">
<h1>漢字かなカナ</h1> # EUC-JP文字列
~~~
としたところ、表示に成功いたしました。
ありがとうございました。
2018/01/20(土) 01:28:40.70ID:6q5j1Hcg
>pathも通しており、python --versionもできます
それは、python というコマンドの場所がわかるだけだろ

>InterpreterNotFound: python3 というエラーが出てしまいます。
python3 というコマンドの場所がわかるのか?

「python3 --version」って、打てるか?
137134
垢版 |
2018/01/20(土) 06:46:56.76ID:RL0/RrMv
Make sure your python3 is Python 3.5 or newerとあったのでpythonのver3.~を指しているか
python内部のpython3というコマンドかバイナリを指していると予想したのですが
どちらにしても見つからないならpath関係の可能性も高いかと思い記載しました

tox.ini等の書き換えが必要なのかもっと初歩的な間違いをしているのかは分かりませんが
色々試してもうまく行かず躓いています...
138デフォルトの名無しさん
垢版 |
2018/01/20(土) 13:47:37.29ID:5zEZap2N
https://www.reddit.com/r/qutebrowser/comments/6wpjwj/dropping_python34_support_broke_qutebrowser_for_me/
2018/01/20(土) 13:51:14.19ID:zS6yqytM
pythonを趣味で始めようとしてます
おすすめの開発環境を教えて下さい
CではVS2017、Javaではeclipseを使ってました
140愛知人
垢版 |
2018/01/20(土) 13:52:44.21ID:+yb3sEoQ
VSCode
2018/01/20(土) 15:41:05.90ID:+v9jVBf6
>>137
qutebrowser、Windows用ビルド済みインストーラー版あるじゃん?
2018/01/20(土) 16:32:05.56ID:1XxiyXve
>>139
VS使ってたならインストーラからPTVSも良いだろうけど、PEP484が…
https://github.com/Microsoft/PTVS/commit/3c67e8b
あたりで実装されてるようだけど、リリースはまだ?

その辺はPyCharmが優れてるか知らんが。一々assert isinstanceは野暮ったい
2018/01/20(土) 17:42:59.11ID:1ejhfD4c
おちんぽーーー!! おちんぽーーー!!! おちんぽっぽぉおおお!!!???

 ぶひいいいいいいいいいいwwwww ∠( ゚д゚)/


最近はどのスレを荒らすの分からなく成って来た。
144デフォルトの名無しさん
垢版 |
2018/01/20(土) 21:06:58.08ID:xBZ2/RS5
C#からIronPython使ってpythonのプログラムを起動しようとしてるんだが
No module named cv2
ってエラーが出て起動できない
普通にコマンドプロンプトでpythonプログラムのほうは起動するんだけど
どこにcv2を置いたらいいのか教えて偉い人
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況