X



くだすれ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/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
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文を使うのは必須でお願いします
0974デフォルトの名無しさん
垢版 |
2019/07/24(水) 18:50:38.91ID:fE34+TSw
>>973
ありがとうございます!
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:
から手も足も出ません。。。誰かご教授お願いします
0978デフォルトの名無しさん
垢版 |
2019/07/24(水) 19:17:36.78ID:MHoYVD3K
>>977
偶数だけを抽出したいんでふけど、そのままやったら奇数も含まれるのでは?たしかにエルスは要らないですね。
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))

どこが間違ってますかね?
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つに置換して実行してみな
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 で ぐぐってみそそ
0993デフォルトの名無しさん
垢版 |
2019/07/24(水) 23:13:56.71ID:/HKiGEdd
>>990
説明用のコードだったから明瞭にするための "DAMMY" だった
そこを 'a' とかにすればもちろん
['a', 'a', 'a']を得られる

両辺に同じ変数を書くより多くの情報が += にはこもっている
左から読んでいくから i += のところまで読んで
それはインクリメントするための文だとわかる
両方に書くのは全体を読んでみるまで分からない
早く読める形式じゃないと、保守性が下がり将来の大きなコードで読みにくい
0995デフォルトの名無しさん
垢版 |
2019/07/25(木) 00:44:45.47ID:D8pzUtDE
>>994
無くても回るけど
print(list(str))
のようなことやれば
charの集まりであることが協調される

文字列型からの暗黙のキャストみたいなのは
勉強の初めの時は考えなくていいコードのほうが
一度に覚える負担が少ない
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('文字列を入力:'))))
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 99日 10時間 36分 45秒
レス数が1000を超えています。これ以上書き込みはできません。

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