Когда я использую цикл for с массивом, он не работает и использует количество элементов вместо перехода от элемента к элементу. - PullRequest
0 голосов
/ 30 мая 2018

В основном в последнем цикле for переменная k использует количество элементов в списке, и тогда у меня есть ложный и уникальный ответ, а не несколько ответов. Я хочу создать своего рода n корней комплексного числа (еслимой вопрос не ясен извините, я не являюсь носителем английского языка, я сделаю все возможное, чтобы сделать его понятнее)

from math import *
deg = int(input("entrez le degré:"))
re = int(input("le réel:"))
im = int(input("l'imaginaire:"))
counter = 0
while counter < deg:
    counter = counter + 1
    kkk = []
    kkk.append(counter)
r = sqrt(pow(re,2)+pow(im,2))
if im != 0:
    teton = round(pi/radians(degrees(acos(re/r))),1)
else:
    teton = round(pi/radians(degrees(acos(im/r))),1)
if round(r) != r:
    r = "sqrt(",(pow(re,2)+pow(im,2)),")"
else:
   r = r
teta  = "pi/%s" %teton
print("z = ",r,"e^i",teta,)
for k in kkk:
    if re != 0 or im != 0:
        print(r,"e^i*2*",teta,"*",k,"pi")
    else:
        print(r,"^1/",deg,"e^i(",teta,"/",deg," +(2",k,"pi)/",deg)
    print(k)

1 Ответ

0 голосов
/ 30 мая 2018

Если я правильно понял проблему, вы говорите, что цикл for не выполняет итерацию по всем элементам в списке kkk.

Если вы проверяете свой код, в списке kkk всегда будет только один элемент, как выинициализация и добавление элемента в том же цикле.Пожалуйста, переместите приведенную ниже инструкцию из первого цикла.

 kkk = []

, как показано ниже.

from math import *
deg = int(input("entrez le degré:"))
re = int(input("le réel:"))
im = int(input("l'imaginaire:"))
counter = 0
kkk = []
while counter < deg:
    counter = counter + 1


    kkk.append(counter)
r = sqrt(pow(re,2)+pow(im,2))
if im != 0:
    teton = round(pi/radians(degrees(acos(re/r))),1)
else:
    teton = round(pi/radians(degrees(acos(im/r))),1)
if round(r) != r:
    r = "sqrt(",(pow(re,2)+pow(im,2)),")"
else:
   r = r
teta  = "pi/%s" %teton
print("z = ",r,"e^i",teta,)

for k in kkk:
    if re != 0 or im != 0:
        print(r,"e^i*2*",teta,"*",k,"pi")
    else:
        print(r,"^1/",deg,"e^i(",teta,"/",deg," +(2",k,"pi)/",deg)
    print(k)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...