質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

3回答

347閲覧

Pythonでlist型をint型に変換して計算をしたい

skyrinrin

総合スコア1

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/12/31 03:15

実現したいこと

list型で作ったリストの中から、
数字を抽出して四則計算をしたいです

発生している問題・分からないこと

listの中に入れた引数を使って計算しようとしているのですが、
Type errorが起きている

エラーメッセージ

error

1unsupported operand type(s) for /: 'list' and 'int'

該当のソースコード

a = list(map(int, input().split())) for i in a: b = a/2 print(b)

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

検索したこと
・list型からint型に変換するやり方
初心者すぎて説明があまりわかりませんでした

ソースコードを自分なりに変更した
b = int(a)をしてint型に変換しようとしたのですが、
エラーメッセージが表示されました
変数を使って事前にint型に変換しようとしても、
そこでエラーが起きた

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki-o

2023/12/31 03:21

まだ動かしていませんが、ぱっと見、b = a/2が変だと思います。
skyrinrin

2023/12/31 04:23

ごめんなさい... どこが変なのかわからないです... 教えていただけたら幸いです
hiroki-o

2023/12/31 04:32

回答しました。
TakaiY

2023/12/31 08:42

> listの中に入れた引数を使って計算しようとしている > b = a/2 計算しようとしているとのことですが目的が書いてないので適切なアドバイスができません。どのような計算をしたくてこの式を書いたのですか。
guest

回答3

0

質問者さんがどんなふうにしてPythonを勉強しておられるのかわからないので、信頼のおけそうな初心者向け教材を使って説明します。

内容は後で全文をご自分で読んでいただくとして、ここでは次のような例に注目します。

次の例は、4つの整数のリスト [1, 2, 3, 4] から要素を一つずつ取り出し、それぞれの値の二乗を出力します。

values = [1, 2, 3, 4] for value in values: print("valueは", value, "value*valueは", value*value)
valueは 1 value*valueは 1 valueは 2 value*valueは 4 valueは 3 value*valueは 9 valueは 4 value*valueは 16

for 文は、変数 values のリストオブジェクトから要素を一つずつ取り出し、それぞれの値ごとに次の行の print(...) を一度ずつ実行しています。

この例では、「リストオブジェクトから要素を一つずつ取り出し」ていると説明があります。それぞれの値が入る変数の名前はわかりますか。例を見ながら考えてみてください。十分に考えたら、続きを読んでください。


この例では、リストが入っている変数はvaluesです。しかし、それぞれの値を出力するときに使っている変数はvalueです。

つまり、

for value in values: ...

という構文は、「valuesというリストの要素をひとつずつ取り出してvalueに入れながら、処理を繰り返す」ということを表します。

このことを質問者さんの書いたコードに当てはめてみると、どこで間違ったかがわかるのではないでしょうか。

投稿2023/12/31 05:12

ikedas

総合スコア4337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Windows 11、Python 3.12.1で確認しました。

b = i/2

投稿2023/12/31 03:25

hiroki-o

総合スコア485

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

内包表記を使う場合。

python

1a = list(map(int, input().split())) 2b = [i/2 for i in a] 3print(b)

投稿2023/12/31 03:23

melian

総合スコア19825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問