-4

ゼロのリストを生成しました。

num=raw_input

list=[0]*int(num)

list2 の 1 番目と 2 番目の数字に +1 を追加したい。

list3 の 3 番目の数字ごとに、+1 を追加したいと考えています。

次の出力が期待されます。

リスト2

10101010101010

リスト3

10010010010010

次のコードを使用しようとしました。

list=raw_input 
list=[0]*int(num) 
num2=list(num)/2 
num3=int(num)/3 

ただし、12 以外の数値で使用すると、これが壊れます。たとえば、次のようになります。

list1 = [1,0]*int(num2) 
list2 = [1,0,0]*int(num3)

前もって感謝します。

4

2 に答える 2

2

これはどう:

for i in xrange(0, len(list)):
    if i % 2 == 0:
        list[i] += 1

これは、1 が追加されるようにリストの 2 つおきの要素を変更します。i%2i%3に変更することで、これを簡単に変更して 3 分の 1 に変更できます。

簡単な補足: このページは、問題を解決するために使用することを意図したものではありません。Abhinav Sarkar が尋ねたように: 何を試しましたか? プログラミングを学ぶことは、実際の解決策ではなく、そこにたどり着くまでの道のりです。

あなたがここにいるのは初めてだと思いますが、最初からこれを正しく行うのは良いことです. 質問をするとき、特に質問があなたの質問のように単純な場合は、試したことをリストしてください

于 2012-10-17T17:57:10.633 に答える
-1

最も簡単な方法は次のとおりです。

num=raw_input

list=[0]*int(num)
list2 = []
list3 = []

for x in xrange(len(list)):
    if x % 2 == 0:
        list2.append(list[x] + 1)
    else:
        list2.append(list[x])

for x in xrange(len(list)):
    if x % 3 == 0:
        list3.append(list[x] + 1)
    else:
        list3.append(list[x])
于 2012-10-17T17:57:23.650 に答える