71466


例えば以下のような条件文が書きたいときに、どのようにコードすれば良いのでしょうか？

[code]

    suuji=[0,-2,3,0,5,3,7]
        
    if suuji[すべて]＞0:
    
[/code]

ー補足ー

皆様回答ありがとうございます。とても学びになりましたが、目的は達成されませんでした。ですのでストレートに目的を書きます。  
numpyのsolveメソッドによって多項式の解が分かります。このメソッドは解をリストに入れて返してきます。

[code]

    import sympy as sp
    s=sp.symbols("s")
    kon=sp.solve(4*s**3 + 3*s**2 + 2*s + 1)
    
[/code]

そして僕はこのリストの中の要素のすべての実部が負であることをチェックするコードが書きたいです。  
問題は二つです。

一つ 解の虚数がIと表示されます。Pythonでは虚数はjのはずです。そのせいで、複素数の型の数字に使える諸々のメソッドが機能しません。

二つ 具体的にはこのコードが動きません。

[code]

    if all(i.real < 0 for i in kon):
        print('安定')
    
[/code]

realは複素数オブジェクトに反応するメソッドです。僕の考えではkonリストに入った複素数たちに使えるはずなのですが、

[code]

    AttributeError: 'Add' object has no attribute 'real'
    
[/code]

が出てしまいます。

以上が目的と問題点です。長くなってしまいましたが、ぜひご教授ください。


CC BY-SA 4.0
2020-10-23T22:01:19.083
71465
2020-10-25T23:36:16.640
2020-10-25T00:30:55.983
41334
question
python python3 sympy
リストのすべての要素を表現したい


意図されていることは以下でしょうか？

[code]

    if all(i > 0 for i in suuji):
        print('suuji[すべて]＞0')
    
[/code]

10月26日「補足」に対する追記

> 一つ 解の虚数がIと表示されます。Pythonでは虚数はjのはずです。  
>  そのせいで、複素数の型の数字に使える諸々のメソッドが機能しません。

complex 型コンストラクタを使用して変換しましょう。  
<https://docs.sympy.org/latest/modules/evalf.html>  
に  
You can also use the standard Python functions float(), complex() to convert
SymPy expressions to regular Python numbers:  
と説明があります。

> 二つ 具体的にはこのコードが動きません。

こちらも complex を使用して解決できます。

[code]

    import sympy as sp
    s=sp.symbols("s")
    kon=sp.solve(4*s**3 + 3*s**2 + 2*s + 1)
    print(complex(kon[0]))
    if all(complex(i).real < 0 for i in kon):
        print('安定')
    
[/code]


CC BY-SA 4.0
2020-10-23T23:14:21.993
71466
2020-10-25T23:36:16.640
2020-10-25T23:36:16.640
41756
41756
71465
answer