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

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

新規登録して質問してみよう
ただいま回答率
85.46%
標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Python

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

Q&A

解決済

1回答

642閲覧

pythonで日付の間隔の計算したいです。

yahoi

総合スコア2

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Python

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

0グッド

0クリップ

投稿2020/11/08 21:21

編集2020/11/08 22:43

雨が降った日付を

1
3
14
26
30

このような形の標準入力で与えられた場合、

2
11
12

その間の日数をこう言う形式で出力したいです。

import sys a = [] for l in sys.stdin: a.append(int(l)) kesan = a[4]-a[3] kesan1 = a[3]-a[2] kesan2 = a[2]-a[1] kesan3 = a[1]-a[0] print(kesan3) print(kesan2) print(kesan1) print(kesan)

特にprintを一回一回書く以外の方法があるなら教えてほしいです。

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

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

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

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

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

y_waiwai

2020/11/08 21:41

どういう法則で数字を出すのかわかりません。 また、タイトルの日付はどういう関係があるんでしょうか。 そこらへん詳しく説明しましょう
yahoi

2020/11/08 21:59

すみません。 計算のやり方に気をとられ、問題内容を書いてませんでした。 雨が降った日の間隔を、上記のような形で出力したいです。
y_waiwai

2020/11/08 22:09

月をまたぐ場合、日だけでは算出できないですが、そこらへんどうします?
yahoi

2020/11/08 22:12

いや今回は、一月内で完結する計算方法が知りたいです。
hentaiman

2020/11/08 22:14

ただの数値で入って来ているのならdate系のモジュール使う必要すらなく差を取るだけだけど
yahoi

2020/11/08 22:21

自分もひとつひとつ計算して、ひとつひとつ出力するというごり押しならできたのですが、もっとスマートなやり方がないかと思い質問しました。 特に計算結果を複数行にわたって、出力する方法なんかも知りたいです。
hentaiman

2020/11/08 22:28

その程度の内容の場合、差の計算と出力は分けるとしてもごり押しと言われているものがもっともスマートだと思いますよ その内容で変にこだわった書き方とかpandasとかnumpy使ってたらやってる内容その程度かよ!というツッコミ入れてしまう なので、どういう要件の時にごり押しがスマートじゃないと感じるか、また質問者にとってどういう処理がスマートだと感じるのかを定義した方がよろしいでしょう
yahoi

2020/11/08 22:41

そういうものなのですね! 納得できました。 今度からはそういう質問の仕方をしてみます! 一応自分なりの解き方を書いてみたので、直したほうがいいところとかがあったら教えてほしいです。
dodox86

2020/11/08 23:15 編集

>@質問者さん a[4]-a[3] a[3]-a[2] a[2]-a[1] a[1]-a[0] この流れを見て、何か法則性があると思いませんか。リストの要素の添え字(インデックス)の変わり方を考えると、ループにすることができそうです。
guest

回答1

0

ベストアンサー

言われたままのプログラムでいいのであれば

python

1a = [1,3,14,26,30]#入力省きます 2for i in range(1,len(a)): 3 print(a[i] - a[i-1])

投稿2020/11/09 07:09

sk-sora--ypi

総合スコア530

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問