下記のfswを整数で入力したあと、Tsw=1/fswで逆数にしたいのですが、Resultに示した通りサポートされた演算子ではありませんというメッセージが出てしまいます。どうすればいいでしょう?
またついでにお聞きします。
今はコメントアウトで保留にしていますが、Vout>Vinのとき入力されたとき入力しなおしてもらうにはどうすればいいでしょうか?
Python
1 2import numpy as np 3import re 4import math 5 6#入力情報 7print('降圧コンバータの設計を行います') 8Vin=input('入力電圧は何V?---->') 9Vout=input('出力電圧は何V?---->') 10""" 11if Vin < Vout: 12 print('出力電圧は入力電圧よりも小さい値を指定してください') 13""" 14ε_=input('出力電圧変動率は何%?---->') 15""" 16if ε_ > 100 or ε_ < 0: 17 print('100未満の正の値を入力してください') 18""" 19fsw=input('スイッチング周波数は何Hz?---->') 20Rout=input('負荷は何Ω?---->') 21 22#各パラメータ計算 23Tsw=1/fsw 24ε=ε_/100 25Vout_max=Vout*(1+ε) 26Vout_min=Vout*(1-ε) 27delta_Vout=Vout_max-Vout_min 28Iout=Vout/Rout 29delta_Iout=Iout*(1+ε)-Iout*(1-ε) 30 31duty=Vout/Vin 32duty_min=Vout_min/Vin 33duty_max=Vout_max/Vin 34#里先生表2-3,2-4より。時定数は暫定的にTswの10倍 35τ=10*Tsw 36τ2=Tsw*duty*delta_Vout 37if τ2 > τ: 38 τ=τ2 39 40#トランスの巻数比を決める 41Ld=(Vin-Vout)*Tsw*duty/delta_Iout 42Cout=(1/8)*delta_Iout*Tsw/delta_Vout 43Cout2=(Ld*Iout*Iout)/(Vout*Vout) 44if Cout2>Cout: 45 Cout=Cout2 46Icout_rms=delta_Iout/sqrt(12) 47 48print("インダクタLd=",Ld) 49print("出力コンデンサCout=",Cout) 50
Result
1runfile('C:/Users/motch/Desktop/Python実習/20210130_必要に応じたPython/20210202_降圧コンバータ自動設計テスト1.py', wdir='C:/Users/motch/Desktop/Python実習/20210130_必要に応じたPython') 2降圧コンバータの設計を行います 3 4入力電圧は何V?---->100 5 6出力電圧は何V?---->5 7 8出力電圧変動率は何%?---->5 9 10スイッチング周波数は何Hz?---->100000 11 12負荷は何Ω?---->100 13Traceback (most recent call last): 14 15 File "<ipython-input-7-4dec5ab0b5c1>", line 1, in <module> 16 runfile('C:/Users/motch/Desktop/Python実習/20210130_必要に応じたPython/20210202_降圧コンバータ自動設計テスト1.py', wdir='C:/Users/motch/Desktop/Python実習/20210130_必要に応じたPython') 17 18 File "C:\Users\motch\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile 19 execfile(filename, namespace) 20 21 File "C:\Users\motch\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile 22 exec(compile(f.read(), filename, 'exec'), namespace) 23 24 File "C:/Users/motch/Desktop/Python実習/20210130_必要に応じたPython/20210202_降圧コンバータ自動設計テスト1.py", line 29, in <module> 25 Tsw=1/fsw 26 27TypeError: unsupported operand type(s) for /: 'int' and 'str'
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/03 13:57