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

レス数が1000を超えています。これ以上書き込みはできません。
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
当スレに★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(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2022/08/25(木) 22:12:05.52ID:onQDGrDv
潔い最期であった
2022/08/25(木) 23:23:20.07ID:11s99DpV
ヒットアンドブローを書いてみました
ここは直した方がいい、って箇所がありましたら教えて頂きたいです
よろしくお願いします

https://paiza.io/projects/V9PHgwFh2EAyhgA2PxxUbQ
953デフォルトの名無しさん
垢版 |
2022/08/25(木) 23:48:36.58ID:C7eFIied
3文字以下を入力したらエラー
2022/08/26(金) 04:59:27.97ID:8E2pwf5q
>>952
数値チェック、桁数チェック、重複チェック追加
blowの計算が違う
2重ループの変数がすべてiなのはややこしい
answer_list、input_list、リストにするメリットを感じない
2022/08/26(金) 05:00:05.01ID:8E2pwf5q
import random
answer_list_int = []
while len(answer_list_int) < 4:
____random_number = random.randint(0, 9)
____if random_number not in answer_list_int:
________answer_list_int.append(random_number)
answer_str = "".join(map(str, answer_list_int))
print('''\
数当てゲームをします!
4桁の重複しない数字を当てて下さい!
入力のチャンスは7回までです
'終了する場合はexitと入力して下さい
''')
for i in range(7):
____while True:
________input_number_str = input(f'{i + 1}回目 4桁の重複しない数字を入力して下さい->')
________if input_number_str == 'exit' or (len(input_number_str) == 4 and input_number_str.isdecimal() and len(set(input_number_str)) == 4):
____________break
____hit = len([j for j in zip(input_number_str, answer_str) if j[0] == j[1]])
____if input_number_str == 'exit':
________break
____print(f'hitは{hit}です!')
____if hit == 4:
________print('クリアです!おめでとう!')
________break
____print(f'blowは{len(set(input_number_str) & set(answer_str)) - hit}です!\n')
if hit != 4:
____print(f'残念!当たりは{answer_str}でした!')
2022/08/26(金) 07:33:07.60ID:90ir5d7g
また人形遊びか
957デフォルトの名無しさん
垢版 |
2022/08/26(金) 10:37:48.28ID:i2SIEm4o
つまらんな
人間が出題してPC(または鯖)に解かせるhit&blowを描け
2022/08/26(金) 14:03:10.97ID:b48ovCTY
重複しないならシャッフルして作る方が好み
こんな感じの
answer_list_int = random.sample(range(10),10)[:4]

>>955
細かい事だけど
isdecimal()って全角数字もTrueになりそうな
959952
垢版 |
2022/08/26(金) 15:53:44.20ID:YT1F4ulB
レスありがとうございました!
いろいろ改善してみたいと思います
960952
垢版 |
2022/08/26(金) 18:09:23.80ID:YT1F4ulB
修正しました
ややネストが深くなってしまいましたが

https://paiza.io/projects/nUxI-yeQLIlZSBGA4dmcKA
2022/08/26(金) 19:10:15.58ID:8E2pwf5q
>>960
自分のスタイルで書けばいいと思うけど最終行はいかがなものか
print(f'\n残念!当たりは{"".join(answer_list)}でした!')
2022/08/26(金) 21:56:17.10ID:qaneYf7D
標準ライブラリだけで、ローカルタイムゾーンのoffset値だけ取得したい(日本なら+9みたいな)のですが、直接取得できる方法などありますか?
2022/08/26(金) 22:05:56.45ID:Iy9DcYfZ
マニュアル読め
2022/08/26(金) 22:40:57.28ID:qaneYf7D
time.timezone / 3600
(→Asia/Tokyoだと -9 になる)
が一番簡素ですかね
965952
垢版 |
2022/08/26(金) 22:50:13.39ID:YT1F4ulB
>>961
ありがとうございます

もう1つだけどうしても気になる箇所があるのですが、
>>960の21行目で定義しているinput_number_strを、無意識のうちに
for文の外で使っちゃってるのですが、なぜエラーにならないのですかね?
Pythonではブロックは無視していい仕様なんですか?
2022/08/26(金) 23:41:59.18ID:8E2pwf5q
>>965
関数ブロック(def/lambda)だけ考えればいい
967952
垢版 |
2022/08/27(土) 00:45:11.54ID:eQp61XjW
>>966
すごい仕様ですね、ちょっと受け入れるのに時間かかりそうです
ありがとうございました
2022/08/27(土) 10:36:29.81ID:iQeLdPnf
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation:
えいちちーぴーえす://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

これはどうしろとおっしゃっているのですか?
data['column'][i]=(2**x)
こういう式に文句言われたんですが
969デフォルトの名無しさん
垢版 |
2022/08/27(土) 11:13:27.05ID:WyESGIww
その警告文で検索したら秒で解決するけど、しなかった?
2022/08/27(土) 11:33:42.24ID:z31K+Zx9
pd.set_option('mode.chained_assignment', None)
2022/08/27(土) 13:32:06.26ID:BTzbpX5q
よくまとまってる
https://www.dataquest.io/blog/settingwithcopywarning/
https://linus-mk.はてぶろ.com/えんとり/2019/02/02/200000
https://linus-mk.はてぶろ.com/えんとり/2019/03/14/235402
https://linus-mk.はてぶろ.com/えんとり/2019/05/18/161328
972デフォルトの名無しさん
垢版 |
2022/08/27(土) 14:42:22.60ID:n5VuK+5f
奥が深い
沼ズブズブ
973ややや
垢版 |
2022/08/27(土) 20:00:28.28ID:IQqR6XHY
https://qiita.com/mimuro_syunya/items/2464cd2404b67ea5da56

上のサイトを参考にしてジュピターノートブックからサイトの最後の方にあるソースコードをコピペして最後の3行をGetメソッドで指定したURLに飛びませんでした。
最後の3行を変更せずにやっても出来ませんでした!

上記のサイトの実行コマンドをbotファイルにするくだりはやってます。

目立ったエラーなどは現在無いです。


ブラウザ立ち上げた後にそのまま処理を行うにはどうすれば良いでしょうか?
2022/08/27(土) 21:29:38.61ID:RK2Xjm2V
日時と得点からなる表Aがあったとします
最高得点が更新された履歴の表を作りたいです
Aの各要素にその日時より古い日時のAの全要素をouter joinかmergeでくっつけて、
くっつけた表の部分をgroupbyしてmaxを求め、
各要素の得点とmaxの得点が一致しているものだけをselectしたいのですが、
SQLならできるのにpandasではやり方がいまいちわかりません
普通にmergeしただけだと共通項があるものしかくっつけられないです
どう書けばいいか教えてください
2022/08/27(土) 22:11:52.80ID:8j5Nb3+9
>>974
日時の順にループで1行ずつ最高点を更新したかどうかを判定して
更新してれば新しい表に(日時, 得点)を追記していけばいいよ
O(n)なのでouter joinするやり方よりも断然効率的
2022/08/28(日) 09:44:53.82ID:my7A80XW
history=model.fit(x,t,epochs=epochnum,batch_size=batchnum,callbacks=[checkpoint,lr])
この行を実行すると、
Epoch 101/2000
1/1 [==============================] - ETA: 0s - loss: 0.11/1 [==============================] - 0s 3ms/step - loss: 0.1453 - mae: 0.2880
Epoch 102/2000
1/1 [==============================] - ETA: 0s - loss: 0.11/1 [==============================] - 0s 5ms/step - loss: 0.1452 - mae: 0.2888
などと出てきてしまいます
・完全に黙らせる場合
・Epoch数だけ表示させる場合
どうしたらいいでしょうか?
2022/08/28(日) 16:01:50.37ID:kZD7TOdo
自己解決しました
失礼しました
978デフォルトの名無しさん
垢版 |
2022/08/28(日) 16:36:09.29ID:q65Nt2bT
解決法も書いてってや
後輩のために
2022/08/28(日) 17:39:31.88ID:ULmp/dD0
失礼します
class内のメソッド宣言の際に、1つ目の引数にselfを必ず入れなければならない
理由や背景が何となくしか分かりません
それと、selfはJavaで言う所のthisと同じようなものと考えてよいですか?
980デフォルトの名無しさん
垢版 |
2022/08/28(日) 17:47:12.52ID:q65Nt2bT
そう
別にthisでもいいよ。selfでなく
2022/08/28(日) 18:48:06.80ID:ScmkE54Q
他のOSでの挙動は分からないけどWindows版Pythonで
socketのrecvで受信待機している時に他のpyファイルを動かすと動作が停止してしまいます
終了ではなく永遠に待機している感じ
recv中に例外エラーも出ないのですが対処法ありますか?
982979
垢版 |
2022/08/28(日) 19:22:25.55ID:ULmp/dD0
>>980
ありがとうございました
2022/08/28(日) 20:31:29.47ID:A7P8ZEj/
40代未経験だがPython覚えればプログラマとして就職できる?
2022/08/28(日) 20:42:53.44ID:5PlXdxXB
他の業務知識があれば出来るんじゃね?

研究者は無理やろ
2022/08/28(日) 21:04:51.02ID:K7gdf/So
求人数はJavaとJavaScriptとPHPの方が多いのだわ
PythonはML系の求人が多いことを考えると
未経験から最初に業界に首をねじ込むための言語としては
あんまりおすすめせんのだわ
2022/08/28(日) 21:05:19.00ID:K7gdf/So
あ、985が立てるのか…
987デフォルトの名無しさん
垢版 |
2022/08/28(日) 21:25:02.87ID:0hsZj3lg
cudaで処理速度が20万倍っていうデータがあるんだけど
みんなはどれくらいの速度が適性だと思う?
2022/08/28(日) 22:33:49.95ID:gOapjWvD
>>983
文系で未経験者の王道は、Ruby on Rails でポートフォリオを作って転職する

YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンとか、
RUNTEQ、東京フリーランスのデイトラなど

かよちんchannel

【半年間使ってわかった】PythonのwebフレームワークDjangoを学ぶメリット・デメリット
www.youtube.com/watch?v=783JIyyyxMk

かよちんは未経験の大学生で、Railsでポートフォリオを作って就職した。
1年運用で働いたが、開発したかったので転職した。
転職先では、Django で開発している

彼女は、初心者にはDjangoよりも、Railsを勧めている

理系なら大学院数学科とか、
AWS Certified Machine Learning(機械学習) - Specialty の資格があれば強い
2022/08/28(日) 23:01:16.78ID:Uxqu4oWF
>>970 はアカン例やろ
2022/08/28(日) 23:04:54.48ID:n2t07jCF
速ければ速いほどよい
991デフォルトの名無しさん
垢版 |
2022/08/29(月) 14:20:05.87ID:HM6f0MF8
q="太郎君の年齢は?"
ans=12
ans2="十二"


while True:
try:
text=int(input(q))
if text==ans:
print("正解")
elif text==ans2:
print("正解")
break
except:
print("不正解")

これで12、十二とinputで入力すると正解と
それ以外だったら不正解で最初に戻ると進行するようにしたいのですが
12以外だと全部不正解になってしまいます
2022/08/29(月) 14:31:09.09ID:IoynIqHg
>>991
text=int(input(q))
でint型にキャストしようしてるんだから、例えば十二とか入れたら
文字列⇒数値へキャストできずに例外が発生してexcept:のルートに入っちゃうだろ
2022/08/29(月) 14:31:14.78ID:lEy6aHnj
せめて質問文らしく書こうな。
text = int("十二")
の結果が0だからだよ。
int()をなくして12も"12"に変更して、全て文字列で扱うようにすれば
994デフォルトの名無しさん
垢版 |
2022/08/29(月) 14:35:17.73ID:SW+mNQvs
慣れないうちは簡単な書き方しよう
ごちゃごちゃ詰め込まない

while True:
__print ('年齢は?')
__ret = input()
__if ret == 12:
____print('ok')
____break
__elif ret == '十二':
__else:
____print('no')

if ret in [12, 12, '十二']
でもよい
995デフォルトの名無しさん
垢版 |
2022/08/29(月) 14:38:41.17ID:HM6f0MF8
>>992-993
ありがとうございます
自分の場合まずint()からしてよく理解してなかったです
996デフォルトの名無しさん
垢版 |
2022/08/29(月) 14:42:50.09ID:SW+mNQvs
うそ
ret = input()
ret in ['12', '12', '十二']
だわ

漢数字や全角ありうるならint型に変換しないほうがよいぬ
2022/08/29(月) 14:44:38.06ID:eTTKQ396
>>994
慣れないうちは動作確認しよう
エラーは詰め込まない
998デフォルトの名無しさん
垢版 |
2022/08/29(月) 15:21:46.13ID:XtVEyX62
9+9+980
999デフォルトの名無しさん
垢版 |
2022/08/29(月) 15:22:51.65ID:XtVEyX62
うめ
1000デフォルトの名無しさん
垢版 |
2022/08/29(月) 15:23:06.50ID:XtVEyX62
https://mevius.5ch.net/test/read.cgi/tech/1653540315/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 98日 16時間 57分 58秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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