k_program510
@k_program510

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

paiza

解決したいこと

paiza大苦戦しています。python入門を多次元リストまでの学習内容で解けると書いてあるのに全然意味わからないです。どなたか教えてください。

入力は以下のフォーマットで与えられます。

下記の問題をプログラミングしてみよう!
整数 n と n 個の数 a_1, ..., a_n が改行区切りで与えられます。与えられた a_1, ..., a_n の中で最も大きい数を出力してください。

▼ 下記解答欄にコードを記入してみよう

入力される値
入力は以下のフォーマットで与えられます。

n
a_1
...
a_n

1 行目には整数 n が与えられ、 2 行目から (n + 1) 行目にかけては n 個の整数 a_1, ..., a_n が改行区切りで与えられます。

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
期待する出力
a_1, ..., a_n の中で最も大きい数を出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件
すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ n ≦ 50
・各 a_i(1 ≦ i ≦ n)について 1 ≦ a_i ≦ 50

n = int(input())

A = [0] * n

for i in range(n):
    a = int(input())
    A[i] = a

print(max(A))

これは一体何がどうなっているのですか?

0

2Answer

ここで一から全部教えることはできないので、まず何が分かっていて何が分からないのか整理してください。

  • 入力について
    • 入力形式の説明を読んで、実際にどんな入力が与えられるかイメージできますか?
  • 出力について
    • ある入力が与えられたとき(コードを書かずに暗算するだけでいいので)どんな値を出力すべきか、出力形式はどうするか分かりますか?
  • コードについて
    • 上から1行ずつ読んでみて、分からない箇所はどこで、どの程度分からないですか?たとえば n = int(input()) を見て、イコールとかカッコの意味が分からないレベルなのか、 「input() 関数の返り値を int() 関数に渡してその結果を n に代入している」ことは分かるがそれぞれの関数の挙動が分からないのか。
0Like

Comments

  1. @k_program510

    Questioner

    n
    a_1
    ...
    a_n

    1 行目には整数 n が与えられ、 2 行目から (n + 1) 行目にかけては n 個の整数 a_1, ..., a_n が改行区切りで与えられます。
    というのがいまいち理解できないのと
    A = [0] * n なぜこうなるのかがわからないです。

  2. 1行目には、そのあとに何行続くかを表す数字が来ます。2行目からは1行に1つ整数が書かれ、その中からプログラムで最大の数を探すことになります。たとえば、3つの整数6と4と15をプログラムに与える入力は以下になります。

    3
    6
    4
    15
    

    A = [0] * n は0がn個並んだリストを作って A に代入しています。たとえば n が3なら A = [0, 0, 0] と書くのと同じ意味です。

paiza大苦戦しています。python入門を多次元リストまでの学習内容で解けると書いてあるのに全然意味わからないです。

「多次元リストまで」は学習済みで内容は理解されていると受け取って良いですか?
そうすると分からないのはA = [0] * nの部分でしょうか?

0Like

Comments

  1. @k_program510

    Questioner

    そうです、、そこの部分がよくわからないです

Your answer might help someone💌