【解決方法】Python、6 の範囲、3 つの正の数と 3 つの二乗値。

プログラミングQA


こんにちは、長さ 6 の整数のリストが与えられました。最初の 3 つの要素は、
1 ~ 100 と次の 3 つの数字は、最初の 3 つの数字の 2 乗値です。 私はpythonを書かなければなりません
これらの値をユーザーからの入力として受け取り、リストをローテーションする計算を実行するプログラム
要素を 2 回左に移動し、結果を返します。 出力は次のようになります。

シート1[3,6,9,9,36,81] 次のように出力する必要があります [9,9,36,81,36]

シート1[2,4,8,6,32,1] 無効なエントリとして出力を生成する必要があります
シート1[723,654,231,1,3] 出力を無効なエントリとして生成する必要があります。
シート1[1,2,3] 出力を無効なエントリとして生成する必要があります。

私が持っている唯一の問題は、無効なエントリが表示されないことです

私が試したこと:

#using the list function
list1 = []


#get user input
for i in range(6):
    num = int(input("Enter number: "))
    list1.append(num)


# Rotate the list to the left twice using the slicing rotation by 1

list1 = list1[1:] + list1[:1]
list1 = list1[1:] + list1[:1]

# Print the output

print(list1)

解決策 1

次のように、各二乗値をその根数に対してチェックする必要があります。

Python
num = int(input("Enter number: "))
if i > 2:
    base = list1[i - 3]
    if base * base != num:
        print("{} is not a valid entry".format(num))
        break
list1.append(num)

コメント

タイトルとURLをコピーしました