【まず1嫁】くだすれPython(超初心者用) その54

■ このスレッドは過去ログ倉庫に格納されています
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合★は、
  表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。

Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2021/08/10(火) 19:29:42.41ID:E/LIVVZz
ああ、こいつRubyガイジか
しれっと自分を欠陥生物から除外するなよ
537デフォルトの名無しさん
垢版 |
2021/08/10(火) 20:42:13.30ID:PJ1bHB/F
このキチガイ文体はAI使うまでもなく分かるだろ
2021/08/10(火) 23:16:26.34
pythonファイルの名前が目的になってる場合
【sumAB.py】
def ◯◯(a,b):
_return a+b

この◯◯の命名はどうしたらいいの?
無難にpythonファイル名と同じでいいのかな
で、importしたときに
from samAB import samAB
みたいな

そもそもあんまり細かくわけないほうがいい?
例えば
【calc.py】
def sumAB(a,b):
_return a+b
def mulAB(a,b):
_return a*b
from calcAB import sumAB,mulAB
みたいな
2021/08/10(火) 23:17:25.06
訂正 from calcAB import sumAB,mulAB
from calc import sumAB,mulAB
>>538
2021/08/11(水) 08:24:03.86ID:bsI09qNM
プログラム初心者ですが、みんなのpythonを一通りやりました
2冊目におすすめの本などあれば教えてください
2021/08/11(水) 08:41:39.09ID:2aR8J+Za
1冊分やったならそろそろ実演経験積めとしか
何やりたいんだよ
例えば機械学習やりたいとか簡易サーバー立てたいとか何かあるでしょ?
2021/08/11(水) 08:54:39.67ID:qGuH144a
pip install をするとこういうエラーが出てきてインストールに失敗するんだけど、なにかわかる人がいたら教えてくれ。
多分Python2のスクリプトが悪さをしているところまではわかったけど、そこから先そうすれば良いか分からん。
スレチだったらすまん。

環境:
Linuxmint 20.2
Python 3.8
pip 20.02

ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"'; __file__='"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-j4aygllu/pysmell/pip-egg-info
cwd: /tmp/pip-install-j4aygllu/pysmell/
Complete output (6 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-j4aygllu/pysmell/setup.py", line 27
print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(post_install_message)?
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
2021/08/11(水) 09:03:47.83ID:sYwGtBdi
PySmellって悪気はないんだろうがなんか下品な名前だな
2021/08/11(水) 09:04:29.85ID:2aR8J+Za
知らんけど2のpip呼ばれてるのでは?
3のpipの実行パスコマンドラインに直打ちすればいーんでね(鼻ほじ)
2021/08/11(水) 09:40:36.88ID:Z6PNV5dP
Ruby なら、print( a ) を、print a と書けるけど、
Python は知らない

print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'.
Did you mean print(post_install_message)?
2021/08/11(水) 10:29:02.04ID:iNehorPT
N88BASIC でも出来るぞ
PRINT A
547デフォルトの名無しさん
垢版 |
2021/08/11(水) 11:27:09.73ID:0GbSOwJG
>>538
__init__.pyを書けば import方法は変更できる
2021/08/11(水) 12:30:56.86ID:clru1KUg
>>542
Pysmellについて軽くググったけど、これ13年前のライブラリか
単純にPython3に対応してないんじゃねこれ
2021/08/11(水) 13:28:39.01ID:ov//wDX1
tに何か入ってきたときと、こなかったときとで
受け取り方を変えたいので
↓のように書いたのですが、returnの部分はこれでいいでしょうか?

def hoge(t=[]):
_x=111
_y=222
_items=[]
_for n in t:
__items.append(n)
_return [x,y,*items]
x,y=hoge()
print(x)
print(y)
print()
x,y,a,b=hoge(["aaa","bbb"])
print(x)
print(y)
print(a)
print(b)
2021/08/11(水) 13:35:55.99ID:aGarSqMh
それってreturn [111, 222, *t]と同じじゃん
何がしたいかわからない
2021/08/11(水) 13:36:27.88ID:ov//wDX1
もしr=hoge()で受け取った場合、rに配列が入りますが、

return x,yだった場合は、タプルで返されますよね
なのでreturn (x,y,*items)みたいに
タプルで返した方がいいのかな?と思いまして >>549
2021/08/11(水) 13:40:42.37ID:ov//wDX1
>>550
本来の用途は、tを再帰して使う
ってことです、しかしそこは冗長なので省略して
何がしたいのかわからないようなhogeという関数名にしています
2021/08/11(水) 13:41:45.42
たまに現れるガチアスペ的な人はネタなのかなんなのか
2021/08/11(水) 13:49:24.55ID:aGarSqMh
どんな計算をするかわからないけど
もし一つのリストにappend/popしていくやり方ができるならそれが効率的だよね
そうでないなら好きにすればとしか言えない
mutableである必要がないならタプルのほうがいいかも
2021/08/11(水) 13:56:30.88ID:ov//wDX1
>>554
なるほどありがとうございます
(受け取った先の)格納された変数をそのまま扱うことが目的なのでとりあえずタプルにしておこうかと思います
2021/08/11(水) 23:17:47.13ID:GEUkRunT
>>541
機械学習、スクレイピングに興味あります
あとは実践あるのみですね、頑張ります
557デフォルトの名無しさん
垢版 |
2021/08/12(木) 00:46:08.61ID:xG1RPqdX
スクレイピングは逮捕される危険があるって聞いたんだけどマジ?
2021/08/12(木) 03:03:44.52ID:id/zPgju
マジだよ
世の世知辛さを悲観して自殺することを薦める
2021/08/12(木) 11:21:51.21ID:s+UN3BdM
スクレイピングでは、そのサイトのrobots.txt を遵守する必要がある

初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、
そのサイトを落としてしまう事があるので、超危険!

だから、必ずテスト中は、ローカルPC に対して行うこと!
絶対に、本番サーバーに対して、テストしてはいけない

Udemy の山浦清透、2021/6 の動画を参照。
マイナビ転職をスクレイピングしてる

【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
2021/08/12(木) 15:45:04.99ID:YXlgEKkk
requestsだと<br>タグはそのままなんだけど
Beautifulsoupに読み込ませると<br/>タグに置き換えられてしまう
html.parserもlxmlも同じ。<br>のままsoupにする方法ないんかな
2021/08/13(金) 01:53:18.22ID:kzYHP2KN
じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね?
2021/08/13(金) 05:59:00.03ID:OVgnWf25
逆にスクレイピングしてほしいんだよ
Google botがクロールできなくてGoogleで検索できなかったら困るだろ?
個人にスクレイピングされても不利益しかないが な

robots.txt守っててもあんまりアクセスしすぎても相手に負荷与えちゃうから一回のアクセスにつきどのぐらい待てばいいか考えて常識の範囲内でお楽しみください
「岡崎市立中央図書館事件」のことも調べてみ
2021/08/13(金) 07:44:59.75ID:RVSIiplP
スクレイピングって一歩間違えたら逮捕??怖すぎ
2021/08/13(金) 15:51:14.06ID:KJAOvV5T
まさに素人にはお勧めできない
2021/08/13(金) 16:18:25.34ID:K9p8aCtq
flaskのテンプレートで
{{ ここでコード実行できるけど }}
{{ hensu=dict.x }}
{{ hensu }}
みたいに変数に格納ってできないのかな
dict.xをあれこれ加工した値を使いたい時
毎回dict.xを加工しなくちゃいけないのだろうか?
もちろんdict.xが単一であればテンプレートの外で加工したものを渡せばいいだけなんだけど
2021/08/13(金) 16:26:03.53ID:K9p8aCtq
レスした直後に改めてぐぐったら
{% set hensu=value %}
でいけた
お騒がせしました
2021/08/14(土) 16:50:13.84ID:hrfYhF/k
l1 = [[0 for i in range(7)] for j in range(2)]
で作った [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]] を宣言の後で拡張して、
[[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]]
にする方法を教えて下さい。
2021/08/14(土) 16:55:31.84ID:aA5bsH8A
l1.append([0 for i in range(7)])
2021/08/14(土) 17:17:06.12ID:hrfYhF/k
サンコス、出来ました
2021/08/14(土) 20:33:25.96ID:V/kafYgI
f = open('listfile.txt', 'r')
line = f.readline()

while line:
print(line.strip())
line = f.readline()
f.close()

↑上記のようなコードで、数千文字×数万行のテキストファイルを読み込んだ場合
 メモリ効率というのはどうなるんでしょうか?
 line変数に全ての行が格納されているとしたら、そこが全部メモリを占有してしまったりするのでしょうか?
 それとも、Pythonの場合はそこらへんのメモリ処理をイイ感じに処理してくれるのでしょうか?
2021/08/14(土) 20:45:55.87ID:aA5bsH8A
readline()で一行ずつ読むから使用するメモリは最大で一行分ですよ
2021/08/14(土) 20:58:38.10ID:V/kafYgI
>>571
ありがとうございます。
2021/08/15(日) 01:12:22.32ID:rOIXbdCv
今までVBAしか経験なかったんだけどpythonてVBAより簡単までありますね
今まで頑張ってCSV編集してたのが馬鹿みたい
574デフォルトの名無しさん
垢版 |
2021/08/15(日) 02:21:34.96ID:Ua8YLJnm
windowsです
指定したフォルダ内にいくつフォルダがあるか調べたい
len(p for p in src.iterdir() if p.is_dir())
だと、max_path越えてるpをFalse判定します
なにかいい手段はないでしょうか
575デフォルトの名無しさん
垢版 |
2021/08/15(日) 02:27:06.28ID:Ua8YLJnm
すいません
max_path解除不可です
2021/08/15(日) 04:39:27.95ID:7SSKhdI7
a = [(lambda x: x * i) for i in (1, 2)]
>>> a[1](1)
2
>>> a[0](1)
2

これがxがundefinedにならない理由はなんですか?またx:の部分は引数ですよね?何も受け取らなくてもエラーにならないんですか?
2021/08/15(日) 05:05:10.89ID:tz+DZcyH
>>574
長さチェックしてMAX_PATHを超えてるなら
絶対パスに"\\?\"を付けて試してみたら
(escapeが必要なら"\\\\?\\")
2021/08/15(日) 05:07:28.10ID:tz+DZcyH
>>576
a[0](1)で引数のxに1を渡してる
何も渡さないのはa[0]()
2021/08/15(日) 05:18:47.52ID:7SSKhdI7
>>578
本当だa[0][1]かと思ってたどうも!
しかし面白い言語だ
580デフォルトの名無しさん
垢版 |
2021/08/15(日) 08:18:33.41ID:Ua8YLJnm
>>577
んー層浅いのに名前だけ超長いみたいな例がありうるんです…
なんか短縮?するのってなかったでしたっけ
c:¥foo~¥bar~みたいなやつ
名前が分からないんだけど、windllあたりを叩いてどうにかならんものか
581デフォルトの名無しさん
垢版 |
2021/08/15(日) 13:14:30.49ID:6uWudvu4
馬鹿には無理
582デフォルトの名無しさん
垢版 |
2021/08/15(日) 13:58:20.70ID:v+aZA8Y6
馬鹿じゃないもん!
583デフォルトの名無しさん
垢版 |
2021/08/15(日) 15:47:33.56ID:si7Mpb2N
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
2021/08/15(日) 17:05:24.89ID:7SSKhdI7
>>576
しかしこれiの値が違う関数が2つ作られたと思わせておいて都度iが上書きされてるってやばいな
Python特有の謎挙動他にもあるんだろうな
2021/08/15(日) 17:34:12.53ID:tz+DZcyH
>>584
変数のスコープを理解すれば謎挙動でもない

for i in range(5)
__pass
print(x) // xは4

FAQにも出てるけど変数のスコープについて詳しく解説されてる入門書を1冊読むといいと思う
クラス変数とインスタンス変数のごっちゃに比べれば理解しやすい
2021/08/15(日) 17:40:34.69ID:tz+DZcyH
>>580
試してみたけど>>577のやり方でTrue返ってきたよ

Path("\\\\?\\" + str(path.absolute())).is_dir()
2021/08/15(日) 18:38:17.55ID:huFV89Rq
sqlalchemyでfilterに条件式を動的に入れる時って
.filter(Class.【ここ】 == '値')

【ここ】の部分どうしたらいいの・・?
2021/08/15(日) 18:45:38.77ID:huFV89Rq
自己解決したかも >>587
from sqlalchemy import text

.filter(text("条件式"))でできるみたいだけど
Class.はいらないのだろうか・・
とりあえず試してみます
2021/08/15(日) 19:58:08.59ID:YSnEOPEZ
以下のコードで、数十万行程度の大きめのファイルを作成した場合も
必ずprint("3")はprint("2")の後に実行されますか?
ちゃんとファイルが作成され終わった後に処理をしたい場合、何か必要な記述はありますか?

print("1---------")

with open(FilePath, 'w') as f:
   f.write("test")
   print("2---------")

print("3---------")
2021/08/15(日) 20:08:24.78ID:YSnEOPEZ
>>589
具体的には、ファイルを書き込みし終わった後に
書き込みしたファイルを読み込みたいのですが
問題なく順序通りに処理が行われるのかが気になっています
2021/08/15(日) 20:53:40.27ID:bN+9aniQ
される
2021/08/15(日) 23:10:43.11ID:YSnEOPEZ
>>591
ありがとうございます。
2021/08/16(月) 00:39:51.07
再帰の内包表記でbreak使いたいんですけど
無理でしたっけ?
例えば

ary = ['a','b','c','b']
ary2= ['b','c']
[ n for n in ary2 for m in ary if n==m ]
#['b','b','c']

となるけど最初のn==mでbreakして
['b','c']にする感じです
2021/08/16(月) 01:19:35.67ID:RjtYQ2nK
そんなものはない
595デフォルトの名無しさん
垢版 |
2021/08/16(月) 10:43:06.74ID:X3qQwgV7
>>586
これパスをUNC化するんですね
勘違いしてました。助かりました
596デフォルトの名無しさん
垢版 |
2021/08/16(月) 12:49:48.06ID:X3qQwgV7
一応追記

is_fileやis_dirは通るけど
pilはopenできなかった(FileNotFoundError)
ioはやっぱwindowsのLongPathEnabledが有効でないといかんようだ
2021/08/16(月) 14:43:52.65ID:Gh+OcB3l
>>585
iは4だけどxはundefinedじゃね?

それはともかく
>>> a = [(lambda i: (lambda x: x * i))(i) for i in (2, 3)]
>>> a[1](1)
3
>>> a[0](1)
2
なんだかな
598デフォルトの名無しさん
垢版 |
2021/08/16(月) 14:53:00.33ID:Gh+OcB3l
>>596
PIL で直接開けないときは
io.BytesIO() を使って先にメモリ上に読んで
PIL は bytesIO から読むとうまくいくはず
2021/08/16(月) 15:12:51.28ID:ebJKRLr3
>>596
Pathで渡さずに"\\?\"を追加した文字列として渡せば開くんじゃないかな
Pathで渡すと内部でresolve()呼ばれて"\\?\"がbuilt-inのopenに渡される前に消されちゃってるので
https://github.com/python-pillow/Pillow/blob/master/src/PIL/Image.py#L2967-L2974

面倒なのでパスを短くするかレジストリを変更するかしたほうがいいとは思う
2021/08/16(月) 15:19:33.45ID:ebJKRLr3
>>597
部分適用したいならpartial使えばいい

from functools import partial
a = [partial(lambda i, x: x * i, i) for i in (2, 3)]

Pythonでこういう使い方するのは稀だけど
601デフォルトの名無しさん
垢版 |
2021/08/16(月) 16:09:27.28ID:X3qQwgV7
>>598
はー。色んなテクがあるんですね
すごい勉強になります

>>599
いいねボタンがあったら乱打してます
2021/08/16(月) 17:06:39.96ID:IO9rrDhR
>>597
公式FAQによると、こんな感じに書くのを推奨しているように見える。

a = [lambda x, n=i: x * n for i in (2, 3)]

https://docs.python.org/ja/3/faq/programming.html#why-do-lambdas-defined-in-a-loop-with-different-values-all-return-the-same-result
2021/08/16(月) 20:13:07.13ID:LeWMKcGD
pythonでのスクレイピングでbeautifulsoup4とIxmlの使い分けってあるんですか?
今勉強してる本だとlxmlを使うことが多いので使い分けが気になります
604デフォルトの名無しさん
垢版 |
2021/08/16(月) 20:13:44.57ID:Dz+YmPwS
内包表記でも同じなんだな。この場合lambdaのローカルではないiはどこに残っていることになるんだろ。
forの場合はループ終わってもiが参照可能だから分かり易いけど。
2021/08/16(月) 23:04:11.60ID:AbohF8Pa
>>602
はぁー感心したわ
2021/08/17(火) 05:57:47.50ID:t0cSJCOl
関数のローカル変数と同じ扱いじゃないかね。

def f():
__r = []
__for i in (2, 3):
____r.append(lambda x, n=i: x * n)
__return r

a = f()

こんなコードを実行しても i がグローバルに現れないのと同じ。
2021/08/17(火) 08:28:00.17ID:JAfXgPxe
文字列中の「"」(ダブルクォーテーション)をすべて「\"」に置き換えてprintしたいのですがどうしたら良いですか?
↓のコードを試してみましたが、「\」(円マーク)がprintされませんでした。

test = 'aaa="iii"'
test.replace('"','\"')
print(test)
608デフォルトの名無しさん
垢版 |
2021/08/17(火) 08:43:07.39ID:gaP7rkot
test.replace('"',r'\"')
2021/08/17(火) 09:31:57.36ID:JAfXgPxe
>>608
できました
ありがとうございます!
610デフォルトの名無しさん
垢版 |
2021/08/17(火) 13:47:01.89ID:Q6ss2SIB
>>606
なるほど!
def f():
... r = []
... for i in (2, 3):
... r.append(lambda x: x * i)
... return r
...
>>> a = f()
>>> a[1](1)
3
>>> a[0](1)
3
611デフォルトの名無しさん
垢版 |
2021/08/17(火) 22:16:40.96ID:4J/S2o5Z
tkinterでアプリを作成しています
ボタンが3つあって、それぞれボタンを押すと次の関数が実行されます
def window(test):
root = tkinter.Tk()
これによって開かれた複数のウィンドウがWindows10のタスクバー上で、
自動的にグループ化されるのですが
これをアプリ側で分離させる方法はないでしょうか?
612デフォルトの名無しさん
垢版 |
2021/08/18(水) 01:09:22.36ID:alFzoDYf
タスクバーの設定でグループ化しないを選ぶのが楽
613デフォルトの名無しさん
垢版 |
2021/08/18(水) 01:33:08.02ID:m4X9BWoP
タスクバーの設定だと他のアプリまで分離してしまうのでアプリ側で分離させたかったんですけど
やっぱり方法はなさそうですね
諦めます
2021/08/19(木) 13:42:29.43ID:FqK5lxwf
0.0.0.0:8000

こういう形式のipに変数名をあてたいんですけど
8000の部分はhostでいいとして
0.0.0.0の部分はaddressでいいのでしょうか?
ipかhostにしようか迷ったのですが
ググったところ0.0.0.0の部分はネットワーク部とホスト部みたいに分かれるみたいですし
ipだと0.0.0.0:8000全体を指しそうだし
しかしそれだとaddressもそうでは・・?みたいな
2021/08/19(木) 13:58:24.37ID:LXAdZTw3
命名の話っすか
命名スレでやればいいと思うけど普通はhost:port
だよ
2021/08/19(木) 14:00:41.87ID:LXAdZTw3
あー、勘違いした
hostとportがくっついてる場合を何と呼ぶかか
2021/08/19(木) 14:08:24.00ID:5v0iaVCE
なんか盛大な勘違いもありそうだけど。。。
source or destination で良いと思う
618デフォルトの名無しさん
垢版 |
2021/08/19(木) 19:26:01.79ID:527sxbC6
ねえみんな
IPv6って使ってる?
2021/08/19(木) 20:09:49.11ID:/iV4BAlB
IPv6なんか通信インフラ屋でない限り全く必要ないからガン無視してok
2021/08/19(木) 20:39:42.72ID:d5oNKX28
>>614
素直にAddressPortでいいだろ
Oracleさんも使ってるし
https://download.oracle.com/otn_hosted_doc/coherence/330/com/tangosol/net/LoadBalancer.AddressPort.html
2021/08/19(木) 21:45:53.60ID:9ur+XjZE
さすが命名に定評のあるオラクルさんw
2021/08/20(金) 13:05:28.03ID:aaLnq14B
五教科の平均値を前半期、後半期で出すプログラムを
for文と関数で短めに作るにはどうしたら良いの?
五教科の点数は適当で良いのでアドバイスお願いします
2021/08/20(金) 13:23:47.57ID:nwMAPpno
アドバイスとして求めるなら、
とりあえず自分で書いてみてアップしたら?
624デフォルトの名無しさん
垢版 |
2021/08/20(金) 13:53:32.51ID:bmI6iAbu
pythonやるのって中学校からだっけ?
2021/08/20(金) 13:58:09.36ID:aaLnq14B
Python一年生を読んでて画像表示プログラムを打ってると毎回エラーが出て疲れる
「え?正確に入力した筈なのに何処が違ってる?」
って思うけど、インデント間違いとか大文字と小文字の間違いが一個でもあると動かなくてきついわ
2021/08/20(金) 14:49:12.55ID:O2iQQ7aA
>>625
こことか見てvscode入れれば?
https://www.python.jp/python_vscode/windows/index.html
2021/08/20(金) 15:49:09.09ID:mOJeDUWN
>>625
インデント間違いとか大文字と小文字の間違いで苦労してるようなら、
他の言語で閉じ忘れとか、セミコロン入れ忘れたとかなんてもっとめんどくさいと思う
2021/08/20(金) 15:53:51.70ID:bheJjdjJ
注意欠陥障害みたいなの抱えてる奴には向かない
2021/08/20(金) 17:12:34.95ID:3LXkFTj+
jupyter notebookで複数行のテキストをinputする方法はありますか?
input()でshift+return押しても一行分の入力欄しか出てこないです
2021/08/20(金) 17:25:01.37ID:+XYykUue
lista=[50,80,100,90]
total=0
for i in lista:
total=total+i
c=int(total/5)

lastb=[70,40,60,30]
total=0
for a in listb:
total=total+a
d=int(total/5)
print(c,d)

理解力足りないからこれしか思い付かないが、何も答えられなくて煽るしか出来ないって俺よりバカって事?
2021/08/20(金) 17:28:43.86ID:+XYykUue
>>630>>622で質問した自分
2021/08/20(金) 17:30:09.67ID:FhpMMCBI
def hoge1(a):
_if a=="sato" or a=="tanaka" or a=="suzuki":#@
__return False#A
_else:
__#何らかのコード
__return True

def hoge2(a):
_if a=="sato" or a=="tanaka" or a=="suzuki": return False
_#何らかのコード
_return True

print(hoge1("tanaka"))
print(hoge2("tanaka"))

こういう
「条件を満たしたらreturn Falseする」ときに@で改行してまでAのインデントは無駄かなと思って
hoge2みたいに書いているのですが
a==,a==,,,のところってなんどもa==出てきますが、冗長なコードではありませんよね?
何か別の書き方があるのかなと思いまして。
(例えばjsで言うところのswitchみたいな)
2021/08/20(金) 17:36:35.19ID:nwMAPpno
>>630
それ動かんだろ。せめて実行してみてからうpしろよ。
print(int(sum(lastb)/len(lastb)))
2021/08/20(金) 17:58:59.82
>>630
後々グラフとか作りたいってなるとpandasめちゃくちゃ便利だから使ってみるのもいいかも
https://i.imgur.com/FEWONvX.jpg

import pandas as pd
#前期
df = pd.DataFrame({"国語":[50,55,60],"算数":[80,40,77],"理科":[100,83,76],"社会":[90,82,66],"英語":[88,90,71]},index=["サトウ","スズキ","タナカ"])
#後期
#略

#サトウの5教科の平均点
print( df.loc["サトウ"].mean() )
#国語の平均点
print( df["国語"].mean() )
#算数の標準偏差
print( df["算数"].std() )
#英語の中央値
print( df["英語"].median() )
2021/08/20(金) 17:59:55.07ID:0J8On0UY
>>632
- return Falseの前で改行したほうがいい
- 何度もa==が出てくる部分はin演算子を使う
- elseを書くかどうかは状況による

pylintとかのlinterを使おう
in演算子を使ったほうがいいみたいなのを含めて注意してくれる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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