86002


大きいほうの値を表示したいのですが

[code]

    int() argument must be a string, a bytes-like object or a number, not 'tuple'
    
[/code]

と出てしまいます。どうしたらよいでしょか？

[code]

    n_string =input('整数を入力：'), input('整数を入力：')
    n_int=int(n_string)
    n=max(n_int)
    print(n)
    
[/code]


CC BY-SA 4.0
2022-01-29T09:21:54.823
86000
2022-01-29T09:51:51.310
2022-01-29T09:37:27.967
9820
51139
question
python
数値計算の関数 / max()


`n_string = input('整数を入力：'),
input('整数を入力：')`の処理で2つの値を入力(input)すると、`n_string`は[タプル](https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-
and-sequences)という複数個の値を同時に持つ変数になります。

例えば実行時に下記の入力をするとします。

> 整数を入力：1  
>  整数を入力：3

その直後に`print(n_string)`を実行した場合、`('1', '3')`が表示されます。  
数字1つならば`int('1')`の構文で数値変換できるのですが、タプルでは`int(('1',
'3'))`の構文となってしまうため、プログラムは数値変換をできずにご質問のエラーメッセージを英語で教えてくれます。

対策としては`n_string[0]`と書くとタプルの1個目を、`n_string[1]`で2個目を取ってきてくれるので、下記のコードで意図通りに動かすことができます。

[code]

    n_string = input('整数を入力：'), input('整数を入力：')
    print(n_string)  # ('1', '3') などのタプルが表示される
    
    n_int=int(n_string[0]),int(n_string[1]) # タプルのそれぞれの項目を数値変換する
    n=max(n_int)
    print(n)
    
[/code]


CC BY-SA 4.0
2022-01-29T09:51:51.310
86002
2022-01-29T09:51:51.310
9820
86000
answer