私の質問では、ロードされたファイルをどうするかについてのオプションを含むメニューを表示するように求められます。選択したtxtファイルの最小、最大、合計を計算できるはずです。そのため、ユーザーにファイル名を入力して ex Alpha.txt をロードするように依頼します。制約セットは、4x4、5x5、12x12 などの数値の行と列の数が同じでなければならないというものでした。私のコードはこれまでのところ、4x4 の行と列の数値のみを考慮しています。ところで、これは宿題ではなく、今後のクイズの練習問題です。解決策は必要ありませんが、状況に応じて何をすべきかを解釈するのに役立つだけです。私は自分のコードを入力して学びたいので、私が答えを求めているとは思わないでください。ありがとう!:)
ゴールテーブルはこのように見えるはずです
-----------------------------------------------
| | A | B | C | D | E |
-----------------------------------------------
| 1 | 8.00 | 1.00 | 3.00 | 0.00 | 5.00 |
| 2 | 5.00 | 6.00 | 8.00 | 9.00 | 4.00 |
| 3 | 3.10 | 3.20 | 3.30 | 9.10 | 3.30 |
-----------------------------------------------
そして、入力されたazまたは1のいずれかの列数に基づいて、列または行に基づいて目的の選択を計算できるはずです
def main():
my_list = [[float(i) for i in line.split(',')] for line in open("Alpha.txt")]
print(my_list)
my_list_one = my_list[0]
my_list_two = my_list[1]
my_list_three = my_list[2]
my_list_four = my_list[3]
columnA = [my_list[0][0],my_list[1][0],my_list[2][0],my_list[3][0]]
columnB = [my_list[0][1],my_list[1][1],my_list[2][1],my_list[3][1]]
columnC = [my_list[0][2],my_list[1][2],my_list[2][2],my_list[3][2]]
columnD = [my_list[0][3],my_list[1][3],my_list[2][3],my_list[3][3]]
usrnput = input("Enter a row or column: ")
if usrnput == 'A' or usrnput == 'a':
print(min(columnA))
elif usrnput == 'B' or usrnput == 'b':
print(min(columnB))
elif usrnput == 'C' or usrnput == 'c':
print(min(columnC))
elif usrnput == 'D' or usrnput == 'd':
print(min(columnD))
elif usrnput == "1":
print(min(my_list_one))
elif usrnput == "2":
print(min(my_list_two))
elif usrnput == "3":
print(min(my_list_three))
elif usrnput == "4":
print(min(my_list_four))
main()
と alpha.txt が含まれています
5,4,2,3.2
1,.2,4.4,8
3,8,6.5,2
3,2,1,5.3
今、私の問題は、悪い4x4以外の可能性を明らかに考慮していないことです. したがって、これを修正するには、コードを完全にやり直す必要があります。
私が本当に求めているのは、私がしなければならないことの人間の言語の解釈は何ですか? 私はそれをPythonicコードに変換したいので、解決策を知るだけでなく概念をよりよく理解し、実際にそれを行わずにそれを理解すると、クイズの助けにはなりません。
「Alpha.txt」の部分を変数に調整し、fo = open("userinput") を指定するだけで、ファイルをロードできると確信しています。
しかし、ファイルから作成したネストされたリストを取得し、列または行の最小値または最大値または合計を決定するにはどうすればよいでしょうか? len() とカウントを使用する必要があると考えていましたが、頭の中や紙の上ではうまくいきません。私のコードのように、各列を新しいリストとして、各行をリストとしてハードコーディングする代わりに、これには for ループを使用する必要があります。