前提
Pythonで整数を入力して最後に入力した値より大きい値の個数を最後に表示したいのですが、標準入力で100や-2などの値を入力するとエラーが出ます。
1桁の整数は問題なく実行できます。
13行目のリストの中を数値型にするという部分が原因かもしれないと考えております。
初心者なので基礎がなっていないと思われるかもしれませんが、どのように改善したらよいか丁寧に説明してくださると嬉しいです。
Python
1c=0 2lst=[0,0,0,0,0,0,0,0,0,0] 3lst1=[] 4for i in range(1,11): 5 lst1+=input(str(i)+'個目の整数を入力してください:') 6 lst=lst1 7lst=[int(j) for j in lst] 8b=lst[9] 9for a in lst: 10 if a>b: 11 c=c+1 12print(c)
実現したいこと
lstに直接入れずに別の変数に入れ、変数をlstに入れたい
そうなると空リストは必要なのか。
(for文にlst[1]=lst1を入れていきたいのですが、その際にlst1を数字型に置き換える方法がわからない)
現状lstがほぼ機能していない
### 発生している問題・エラーメッセージ 標準入力で2桁以上、マイナスの値を入れるとエラーメッセージが出る。
エラーメッセージ
lst=[int(j) for j in lst] ValueError: invalid literal for int() with base 10: '-'
試したこと
for文の中の12行目をlst[0]=int(lst[0]),lst[0]=lst0のようにしてみたが、'str' object does not support item assignmentというエラーが出る。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/03 16:23