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

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

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

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

Q&A

解決済

4回答

2244閲覧

python 大学の課題

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

1グッド

1クリップ

投稿2020/05/29 02:43

大学のプログラミングの授業で以下の課題が出ました。
どのようにとけば良いのでしょうか

Nを標準入力する sum=0
Nが負でなければNの二乗をsumに足し、新たにNの標準入力を求める
Nが直前に入力されたNと同じならば足さない。
Nに負の数が入力された場合計算を終了し、sum を出力する

です。よろしくお願いいたします。

DrqYuto👍を押しています

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

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

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

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

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

guest

回答4

0

授業なら先生に聞こうよ。
ここでアカの他人に聞いてもしようがないでしょう

#もしかして、試験のカンニング?

投稿2020/05/29 02:46

編集2020/05/29 03:00
y_waiwai

総合スコア88042

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

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

0

授業の最初から復習すればこの程度のプログラムは書けると思います。
「どのようにとく?」とか考えるレベルじゃないです。

投稿2020/05/29 02:55

otn

総合スコア85901

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

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

0

ベストアンサー

Python

1lst = [] 2while True: 3 N = int(input('入力してください')) 4 if N < 0: 5 break 6 if len(lst) == 0 or len(lst) >= 1 and lst[-1] != N ** 2: 7 n = N ** 2 8 lst.append(n) 9print(sum(lst)) 10```sumっていうのはPythonの標準ライブラリの名前なので使わないでください。

投稿2020/05/29 02:54

編集2020/05/29 04:21
ForestSeo

総合スコア2722

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

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

dodox86

2020/05/29 03:04

input()で得られる値はstrクラスなので、 if < Nで比較できないと思います。(少なくともpython 3.6.9では) また、brake ではなく break の間違いではないでしょうか。 Python 3.6.9 (default, Apr 18 2020, 01:56:04) [GCC 8.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> N = input('Enter>') Enter>-1 >>> type(N) <class 'str'> >>> if N < 0: ... print('!!!') ... Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: '<' not supported between instances of 'str' and 'int' >>>
ForestSeo

2020/05/29 03:07 編集

ですよねさっき気づいて今修正しようとしたところでした。 すみません。
dodox86

2020/05/29 03:12

'brake'が直っていません。
momon-ga

2020/05/29 03:25 編集

そもそも if lst[-1] != N: の判定は、Nが直前に入力されたNと同じならば足さない。 と、異なりますよね? Nが1なら動きまけど。 いろいろ、わざと問題のあるコードを残していたのかと思っていましたが・・・
dodox86

2020/05/29 03:25

思い直してみると、課題丸投げ質問へのトラップ付き回答であったのかもしれません。(深読みしすぎ?) コメントを控えるべきでした。反省。
momon-ga

2020/05/29 03:27

私も、トラップつきだと思ったのですけど修正が入ってきたので。。。ツッコミいれちゃいました。
dodox86

2020/05/29 03:27

退会済みですし。
ForestSeo

2020/05/29 03:44

'brake'が直っていません。 →スマホの変換で出たのを押したとき間違えました。 if lst[-1] != N: の判定は・・よね? →Python実行できないときでしたので、sum([])でエラーが出るかわからなくてとりあえず[0]にしといたんですけど確かに最初に0入力したら終わりますね。しかもsum([])はエラー出なかった... もう退会しちゃってますけどいちよう編集しときますね。
ForestSeo

2020/05/29 03:53

たぶん無意識にトラップを仕掛けてたんですね。
momon-ga

2020/05/29 04:16 編集

> ForestSeoさん 入力に、3、3、-1ってやると、いくつが出力されるのが正解でしたっけ? 2回目の3(の二乗)は足されない認識なのですが・・・
ForestSeo

2020/05/29 04:24 編集

18ではない.. 二乗してるからN変わりますね... まぁこれもトラップ?編集済み 次はちゃんと確認してから出します。
momon-ga

2020/05/29 05:16 編集

18が出る想定のコードを書いていらしたのであればよいです。 > Nが直前に入力されたNと同じと同じならば足さない 私でしたら、もし当該コードを求めるのであれば、上記を > Nが直前に加算された値と同じなら足さない っていう風に表現します。 コードを修正されたようですね<18ではない
ForestSeo

2020/05/29 04:35

コメントの編集が反映されてませんでした?
momon-ga

2020/05/29 05:15

あ。タイミング的に記入したあとにコメント見たのですが。 もう直ったのでいいかなと・・・
guest

0

授業なら、この課題が出る前の課題や先生の説明、教科書の説明は理解できていますか?
それができていない状態で、いきないrこの課題を解こうとしていませんか?

いままでの出た課題と、その回答を質問文に追記してみてください。

投稿2020/05/29 11:29

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問