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

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

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

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

Q&A

解決済

2回答

745閲覧

N行M列のデータの出力

uragirionigiri

総合スコア8

Python

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

0グッド

0クリップ

投稿2023/03/12 01:29

編集2023/03/12 08:21

実現したいこと

  • とある練習問題をやっているのですが出力が一致せず困っています。N行M列のデータの出力を行うプログラムなのですが、現在の自分のコードだと余分なスペースが出力されているためだと思います。これを改善するためにはどのようにするべきでしょうか?

前提

入力値1行目で整数Nが与えられます。また入力値2行目以降で先頭の列の値M+1が列の数です。 入力値          希望する出力値 3 1 8 8 2 8 1 8 1 3 8 1 3 8 1 3

python

1 2 3n = int(input()) 4 5for i in range(n): 6 line = input().split() 7 m = int(line[0]) 8 9 for i in range(m): 10 print(line[i + 1],end=" ") 11 print() 12 13 #end=" "でスペースを入れてるのですが余分にスペースが入ってしまいます。また.joinを使えれば 14 良いかとおもったのですがこのコードだと使えないのかな?と考えていました。

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

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

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

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

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

uragirionigiri

2023/03/12 01:36

すみません。誤字があったため訂正しました。
TakaiY

2023/03/12 01:44

> 余分なスペースや改行?が出力されているため とありますが、 ・どこに余分なスペースが入るのでしょう。(これは多分行末ですかね) ・どこに余分な改行が入るのでしょう。 ・「ため」で終っていますが、「ため」どんな問題がありますか?
uragirionigiri

2023/03/12 02:03

・スペースは行末です。 ・改行はプログラムの一番最後です。 ・最初誤字があったので修正したのですがまだおかしいところがあればすみません。
TakaiY

2023/03/12 05:23

「プログラムの一番最後の改行」とのことですが、「出力の一番最後の改行」だとして、それはどの改行ですか? 以下のような出力になってしまうということですか? 8 <- 最後に1つ余計なスペース 8 1 <- 最後に1つ余計なスペース 8 1 3 <- 最後に1つ余計なスペース <- ここに空行ができる? 最後の空行はできないと思うのですが、余分な改行が出るというのはどのような現象ですか?
uragirionigiri

2023/03/12 08:19

改行は勘違いでした。申し訳ないです。
guest

回答2

0

python

1n = int(input()) 2 3for i in range(n): 4 line = input().split() 5 m = int(line[0]) 6 print(*line[1:m+1])

投稿2023/03/12 01:44

melian

総合スコア19714

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

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

0

ベストアンサー

以下のように各行ごとに、先頭の要素を除いたものからm個をjoinで連結したものをprintすればよいです。
ただし以下では入力と出力の結果が交互に表示されます。

Python

1n = int(input()) 2for i in range(n): 3 line = input().split() 4 m = int(line[0]) 5 print(' '.join(line[1:m+1]))

投稿2023/03/12 01:42

編集2023/03/12 02:59
can110

総合スコア38262

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問