くだすれPython(超初心者用) その43【Ruby禁止】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2019/04/16(火) 15:44:21.69ID:jL0dd/ry
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

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

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

※前スレ
くだすれPython(超初心者用) その42【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1552884175/


◆PythonのHome Page
http://www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−

0952デフォルトの名無しさん2019/07/21(日) 01:03:08.39ID:7an9cjGS
"D:\Program Files\Anaconda3"

特に問題なし

0953デフォルトの名無しさん2019/07/21(日) 01:35:15.71ID:dc1mex4M
おいらはc:\usr\bin\python37

0954デフォルトの名無しさん2019/07/21(日) 08:26:34.54ID:/SITzbMm
winだと確かデフォルトだと隠しファイルの奥の奥くらいにあってbinのパスクソ長くて叩くの面倒だったから変えたよ

0955デフォルトの名無しさん2019/07/21(日) 08:55:31.16ID:/atv33Bt
>>951
どんな場合においても
は余計

0956デフォルトの名無しさん2019/07/21(日) 14:42:25.02ID:utEuQb4D
>>954
え???

3.7系なら
C:\Program Files\Python37-32
python.exeはここ↑にあるんだが。。。

>>953
そこにはシンボリックリンクがいる(置いてある)

0957デフォルトの名無しさん2019/07/21(日) 18:07:34.59ID:pyvclrNz
All Usersにインストールした場合と
Only for Userでインストールした場合でインストール先が違うことを知らないレベルの初心者は
話がややこしくなるから静かにしとってくれ

0958デフォルトの名無しさん2019/07/21(日) 19:05:35.03ID:utEuQb4D
>>957
> All Users / Only for User
そういえば!
そんなチェックボックスもあったな!!!

あとは
32bitか64bitかでもフォルダが違ったりするか


年経ると最初にインスコしたときの選択肢のこととか忘れるよ・・・

持ち前のうっかりテヘ

すまんね

0959デフォルトの名無しさん2019/07/21(日) 20:21:31.64ID:j7bLFhUX
自分でインストールしたものは Program Files とは別の場所に保存するようにしてる
ポータブルソフトウェアも別の場所
全部 Program Files に保存するとわかりにくくなる

0960デフォルトの名無しさん2019/07/22(月) 03:12:00.96ID:vS8EF9i1
storeアプリとしてインストールすると、ルートは相当深いのでは?

まぁ、ドライブのルートにインストールするのがわかりやすくていいわな。
unix由来のものはだいたいそうしてる。

0961デフォルトの名無しさん2019/07/22(月) 06:32:37.49ID:GAEqWBnq
説明に従ってインストールするものは、デフォルトの場所がよい

一方、ポータブル版など、インストールせずに、自分でバイナリをどこかに置いて、
ユーザー環境変数パスも自分で追加するようなものは、C 直下でもよい。
その代わり、消す・移動する場合も、自分で環境変数も削除・更新しないといけない

コマンドプロンプトで、
where node
C:\Program Files\nodejs\node.exe

where ruby
C:\Ruby24-x64\bin\ruby.exe

Node はインストールした。
一方、Ruby 2.4 はポータブル版

0962デフォルトの名無しさん2019/07/22(月) 07:16:06.92ID:gciKmhD5
ぼくはパス名に空白あると死んじゃうおじさんだからProgram Filesの下は無理だわ

0963デフォルトの名無しさん2019/07/22(月) 09:06:23.23ID:NmCBUXEa
昔のバージョンはC直下がデフォルトで、自分は直下が嫌いだったから、1個下に変更して入れてた記憶がある。

0964デフォルトの名無しさん2019/07/22(月) 09:40:01.05ID:mGE6+E5e
3か月くらい前に使い始めて旧バージョンじゃ動かないとか
32bitじゃ使えないライブラリとかで色々入れたけどこんな感じ
C:\Python\Python3.6x86
C:\Python\Python3.6x64
C:\Python\Python3.7x86
C:\Python\Python3.7x64

0965デフォルトの名無しさん2019/07/23(火) 19:30:45.62ID:JpyYUi7M
プロゲートでレッスン3までマスターした上級者の俺に質問はまだですか?

0966デフォルトの名無しさん2019/07/23(火) 19:36:22.62ID:+7TCISw6
x,y,zのデカルト積で
ようするにネストした3つのループがあるとする
for x in xs:
 for y in xs:
  for z in xs:
  ...
この3重のループの中から、
xyz全部一気に抜けたい時
次のyの処理に移りたい時
次のxの処理に移りたい時
pythonではどう制御を書きますか?

0967デフォルトの名無しさん2019/07/23(火) 19:37:20.19ID:+7TCISw6
ラベルがあったな?
昔調べたらそれで解決したはずだ
忘れてた

0968デフォルトの名無しさん2019/07/23(火) 19:52:55.20ID:wUFiuOAd
フラグ変数で管理するか例外を使う
try:
__for x in xs:
____for y in ys:
______for z in zs:
________raise Exception
except:
__pass

次のy,xの処理に移りたければexcept continueすればええんちゃう

0969デフォルトの名無しさん2019/07/23(火) 20:33:29.10ID:+7TCISw6
ラベルなんてなかった
目立つから例外使うことにします
ありがとうございました

0970デフォルトの名無しさん2019/07/23(火) 21:42:05.24ID:c2CsKVoQ
.for x in xs:
. for y ys:
. for z zs:
. ...
. if cond:
. break
. else: continue
. break
. else: continue
. break

俺ならreturnする

0971デフォルトの名無しさん2019/07/24(水) 11:56:29.23ID:rb/ir+1u
>>970
っ 先頭に「.」を足しても 【複数の連続半角スペースは1ツにまとめられてしまう仕様】
ネスト具合がわけわかめだから
かきなおしてくれくれ

0972デフォルトの名無しさん2019/07/24(水) 18:39:45.01ID:fE34+TSw
初心者で質問です。
以下の処理を行うプログラムを作成してください。

数値リストの値を集計するプログラム:
5、3、12、8、2の要素からなるリストを作成する
集計結果を記録する変数sumに0を代入する
for文を使ってリストの要素を1つずつsumに加える
sumの値を表示する
実行結果は以下になります。
30

僕の考え
a=[5, 3, 12, 8, 2]
sum=0
for n in a:
sum+=n
print(sum)
_________________結果
5
8
20
28
30

質問 僕は30だけにしたいんですけど、どうすればいいですか?
for文を使うのは必須でお願いします

0973デフォルトの名無しさん2019/07/24(水) 18:44:42.85ID:9tkV+98R
http://ideone.com/PgjrII
forが終わったあとにprint(sum)すればいい

0974デフォルトの名無しさん2019/07/24(水) 18:50:38.91ID:fE34+TSw
>>973
ありがとうございます!

0975デフォルトの名無しさん2019/07/24(水) 18:55:13.30ID:W+Z9ftCY
こういうのは
print(sum(n for n in [5, 3, 12, 8, 2]))

0976デフォルトの名無しさん2019/07/24(水) 19:02:14.69ID:MHoYVD3K
for文とif文を組み合わせて、2から10の範囲の偶数を表示するプログラムを作成してください。
実行結果は以下になります。
2
4
6
8
10
ヒント
数値の範囲は1から10までとし、繰り返し処理の中で「値が偶数なら表示する」という条件分岐の処理を行います。

for n in range(1 ,11):
if n%2==0:
else:
から手も足も出ません。。。誰かご教授お願いします

0977デフォルトの名無しさん2019/07/24(水) 19:08:38.33ID:9tkV+98R
偶数(余りが0)だったらnをprintすればいい
else不要

0978デフォルトの名無しさん2019/07/24(水) 19:17:36.78ID:MHoYVD3K
>>977
偶数だけを抽出したいんでふけど、そのままやったら奇数も含まれるのでは?たしかにエルスは要らないですね。

0979デフォルトの名無しさん2019/07/24(水) 19:22:56.36ID:9tkV+98R
>>978
Pythonはインデントに意味がある

0980デフォルトの名無しさん2019/07/24(水) 19:33:52.09ID:fE34+TSw
僕の大学でcountを使わないで文字を数える考察問題が出たんですけど、そんなことできますかね?

[考察チャレンジ問題]キーボードから入力された文字列の中にaが何文字あるかを、countメソッドを使わずに数えるプログラムを作りなさい。
(正解の実行例)
文字列を入力:abcadeagf
3

僕の考え

a=input('文字列を入力:')
b=list(a)
for n in b:
if n=='a':
print(len(n))

どこが間違ってますかね?

0981デフォルトの名無しさん2019/07/24(水) 20:14:43.87ID:izbmrRMK
何故関数のsumを使わない

0982デフォルトの名無しさん2019/07/24(水) 20:28:27.35ID:rb/ir+1u
>>980
俺的回答に至るヒントは
import re

0983デフォルトの名無しさん2019/07/24(水) 20:35:52.74ID:rb/ir+1u
>>985 次スレよろすく
禿BBだと、このホストではー(ryされるは

スレタイは
くだすれPython(超初心者用) その44【Ruby禁止】

本文は>>984

0984デフォルトの名無しさん2019/07/24(水) 20:36:55.41ID:rb/ir+1u
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

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

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう

◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
  実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

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

〇前スレ〇
くだすれPython(超初心者用) その43【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1555397061/

次スレは >>985 あたりが挑戦してくだしあ。

### END OF 天麩羅 ###

0985デフォルトの名無しさん2019/07/24(水) 21:00:02.78ID:d1IM+Tl+
sum(map(lambda c: 1 if c is 'a' else 0, 'abcadeagf'))

0986デフォルトの名無しさん2019/07/24(水) 21:36:14.14ID:/HKiGEdd
>>980
str = "abcadeagf"
i  = 0
for char in list(str):
  if char == 'a':
    i += 1
print(i)

collect_a = ["dummy" for char in list(str) if char == 'a']
print(len( collect_a ))

全角空白を半角空白2つに置換して実行してみな

0987デフォルトの名無しさん2019/07/24(水) 21:50:30.23ID:rb/ir+1u
>>985が次スレ立ててくれたった!えろい!!!

くだすれPython(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/

0988デフォルトの名無しさん2019/07/24(水) 21:58:55.37ID:/HKiGEdd
>>980
最終行のprint(len(n)) は常に1と評価され
ifの条件を3階通過するから3回1が出る

abnの変数名を変えたほうが分かりやすい
a => caught_line, b=>string, n=>char
char が1文字を意味する言葉でstringはその集まりの複数形だから
print(len(char))は1になるのが変数名で判る

0989デフォルトの名無しさん2019/07/24(水) 22:18:22.66ID:cgEKbBDA
>>988
なるほど。
list(str):
  if char == 'a':
print(i)
だと、
a
a
a
ですよね?
これをリスト化して
[a a a]

0990デフォルトの名無しさん2019/07/24(水) 22:19:39.40ID:cgEKbBDA
>>989
には変換出来ない感じですか?
あとi+=1をi=i+1にしないのはなにか理由があるから?

0991デフォルトの名無しさん2019/07/24(水) 22:22:35.01ID:rb/ir+1u
【複数の連続半角スペースは1ツにまとめられてしまう5chの仕様】 に注意な

>>989 うん、その発想でも解けるな

>>990
>i+=1をi=i+1にしないのは
PEP8 で ぐぐってみそそ

0992デフォルトの名無しさん2019/07/24(水) 23:12:18.65ID:vQqcTSIT
from collections import Counter
Counter(input())["a"]

0993デフォルトの名無しさん2019/07/24(水) 23:13:56.71ID:/HKiGEdd
>>990
説明用のコードだったから明瞭にするための "DAMMY" だった
そこを 'a' とかにすればもちろん
['a', 'a', 'a']を得られる

両辺に同じ変数を書くより多くの情報が += にはこもっている
左から読んでいくから i += のところまで読んで
それはインクリメントするための文だとわかる
両方に書くのは全体を読んでみるまで分からない
早く読める形式じゃないと、保守性が下がり将来の大きなコードで読みにくい

0994デフォルトの名無しさん2019/07/25(木) 00:35:43.40ID:MDaa/PKB
strをlist()する意味あんのかね?

0995デフォルトの名無しさん2019/07/25(木) 00:44:45.47ID:D8pzUtDE
>>994
無くても回るけど
print(list(str))
のようなことやれば
charの集まりであることが協調される

文字列型からの暗黙のキャストみたいなのは
勉強の初めの時は考えなくていいコードのほうが
一度に覚える負担が少ない

0996デフォルトの名無しさん2019/07/25(木) 00:54:36.71ID:MDaa/PKB
文字列型からの暗黙のキャストて…
はなからシーケンス型ですし

0997デフォルトの名無しさん2019/07/25(木) 01:04:35.20ID:D8pzUtDE
python 固有だから
あまりそこに集中させたくないんだよね
>>980
を見てもらうと
そこより別のもっと致命的なことに集中して学ぶ必要がある
だから変える必要がないってのと

あと他の言語では流動性のあるシーケンス型じゃないものもある
となればやはり1文字ごとに処理していくアイデアは悪くない
だからそのままlist

0998デフォルトの名無しさん2019/07/25(木) 02:15:05.44ID:muDuQw8n
>>980
import re
print(len(re.findall('a', input('文字列を入力:'))))

0999デフォルトの名無しさん2019/07/25(木) 02:20:25.32ID:k8Oo4lQd
くだすれPython(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/

1000デフォルトの名無しさん2019/07/25(木) 02:21:06.29ID:k8Oo4lQd
1000ならローンチ間に合う!!!

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 99日 10時間 36分 45秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。