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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

4回答

265閲覧

演算子エラー str

icedcoffee

総合スコア18

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/03/16 10:03

編集2019/03/16 10:04

python

1count = input("数字を入力: ") 2count = count + 1 3print(count)

↑の文を実行すると

count = count + 1
TypeError: must be str, not int

というエラーが出てきてしまいます。

エラーについて調べてみるとstrをつけてあげるとなおるとでてきたので
count = count + 1 ここを↓
count = str(count + 1 )
のように変えてみたのですがそれでもエラーが出てしまいます。
どうすればエラーがなくなり、print側には正しい値が出ますでしょうか?

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

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

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

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

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

1T2R3M4

2019/03/16 10:06

strをintにしてから計算すればいかがでしょうか。
icedcoffee

2019/03/16 10:19

解決出来ました!ありがとうございますm(*_ _)m
guest

回答4

0

input()で入力される物は、文字列です。なので、文字列と文字列を+すると、文字列を繋ぐことになります。

Python

1count = input("数字を入力: ") 2count = count + str(1) 3print(count)

で、2を入力すると、2という文字列と1という文字列を連結して、21という文字列になります。

数値で計算したいのなら、文字列を数値化する必要があります。例えばint()で。

Python

1count = int(input("数字を入力: ")) 2count = count + 1 3print(count)

だと、2を入力すると、2という数値と1という数値を加算して、3という数値になります。
print()は、その3という数値を文字列化して出力します。

投稿2019/03/16 10:11

otn

総合スコア84531

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

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

icedcoffee

2019/03/16 10:19

無事解決しました! ありがとうございましたm(*_ _)m
guest

0

ベストアンサー

count = input("数字を入力: ")

count は、文字なので、 +1 できません。

count = count + 1

簡単には、count = int(count) + 1 でしょうか。

投稿2019/03/16 10:10

pepperleaf

総合スコア6383

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

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

icedcoffee

2019/03/16 10:17

実際のプログラムが書いてありすぐ実行に移せたためベストアンサーにさせて頂きましたm(*_ _)m ありがとうございました!
guest

0

countの中身は文字列です。文字列+数値は計算できません。文字列+文字列、数値+数値なら計算できます。

1を加算したいのであれば、文字列を数値に直すといいでしょう。
int | 組み込み関数 — Python 3.7.3rc1 ドキュメント

そうではなくて、文字列として末尾に1という文字を追加したいのであれば、1を"1"と文字列にしましょう。

投稿2019/03/16 10:08

Lhankor_Mhy

総合スコア36087

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

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

icedcoffee

2019/03/16 10:16

わかりやすく、詳しい説明ありがとうございますm(*_ _)m 無事解決しました!
guest

0

ちいさなコードなら 会話的に実行して調べていくとよいです。

以下では 会話的に実行していってエラーの再現、その修正方法の確認をしていっています。
イメージ説明

投稿2019/03/16 23:30

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問