Python

全378件中101~120件表示
  • pythonで、if文の内容がなぜか無視されます。

    下記のコードはファイルの内容を手動で修正するためのコードです。 間違えて入力せずにボタンを押してしまった時のために、入力文の長さが一定以下の時に書き込みを自動停止するようプログラムしたいのですが、実行した際になぜかif文の内容が無視され、うまくいきません。 これは仕様ですか? pythonのコードは上から下に向けて実行されるんじゃないんですか? def manual_set(): frw_w = open("weight.txt", "w+") w = frw_w.read() print(w) w_next = input("set the w") if len(w_next) <10: #誤作動防止 print(len(w_next),"Alart") frw_w.close() else: print(len(w_next)) frw_w.write(w_next) frw_w.close()

    • ベストアンサー
    • hf-sbf5
    • Python
    • 回答数1
  • Pythonで作業フォルダを迅速に指定する方法

    Pythonの作業フォルダの効率的な設定方法についてお尋ねします。 シェルやプロンプトでcdコマンドで作業フォルダに入っていってもいいのですが、エクスプローラで作業したいフォルダを開いてshift+右クリックでシェルを呼び出すことができます。これは便利です。ところが、Pythonの場合、そのシェルから起動することができません。Pythonの環境を実現するシェルが別にあります(トラブルにならないようにシェルが別になっているのだと思います)。Pythonのシェルはエクスプローラから呼び出すことができないです(Python install時に環境変数PATHなどの変更が非推奨と関係してますね)。 そのためPythonで作業するとき作業フォルダを指定するのが面倒なのです(深いフォルダで日本語だったりする)。Jupyter notebookでも同じくシェルで作業フォルダに入って行ってそこで起動しています。Spyderは昔のRAD環境のようなGUIなので画面上に作業フォルダ等の指定ができますが。 他言語(C,Java)の場合、エクスプローラで作業フォルダの指定、そこでのシェルの呼び出し、code . でVScodeとかシェルの再呼び出し...編集・コンパイル..ということで作業環境の立ち上げが早いです。 以上、Pythonで作業するときの作業フォルダを迅速に指定する方法について教えて頂きたいのですが。小さいことですが、1つ面倒だと億劫になってしまいます。 よろしくお願いします。 以下のような環境です。 OS:Windwos10,11、 Python:Anaconda

  • コードの書き方

    import math import cmath import numpy as np import matplotlib.pyplot as plt def multi_reflection(n1, n2, n3, theta1_deg, d, wavelength): #calculation theta1_rad = math.radians(theta1_deg) #屈折角の算出 theta2_rad = math.asin(n1/n2*math.sin(theta1_rad)) theta2_deg = math.degrees(theta2_rad) theta3_rad = math.asin(n2/n3*math.sin(theta2_rad)) theta3_deg = math.degrees(theta2_rad) #位相差 delta = 4 * cmath.pi * n2 * d * math.cos(theta2_rad)/ wavelength r12s = (n1 * math.cos(theta1_rad) - n2 * math.cos(theta2_rad)) / (n1 * math.cos(theta1_rad) + n2 * math.cos(theta2_rad)) #t12s = 2 * n1 * math.cos(theta1_rad) / (n1 * math.cos(theta1_rad) + n2 * math.cos(theta2_rad)) r23s = (n2 * math.cos(theta2_rad) - n3 * math.cos(theta3_rad)) / (n2 * math.cos(theta2_rad) + n3 * math.cos(theta3_rad)) r12p = (n2 * math.cos(theta1_rad) - n1 * math.cos(theta2_rad)) / (n2 * math.cos(theta1_rad) + n1 * math.cos(theta2_rad)) #t12p = 2 * n1 * math.cos(theta1_rad) / (n2 * math.cos(theta1_rad) + n1 * math.cos(theta2_rad)) r23p = (n3 * math.cos(theta2_rad) - n2 * math.cos(theta3_rad)) / (n3 * math.cos(theta2_rad) + n2 * math.cos(theta3_rad)) delta_j = complex(0, delta) Rs = (r12s + r23s * cmath.exp(delta_j))/(1 + r23s * r12s * cmath.exp(delta_j)) Rs = abs(Rs) * abs(Rs) Rp = (r12p + r23p * cmath.exp(delta_j))/(1 + r23p * r12p * cmath.exp(delta_j)) Rp = abs(Rp) * abs(Rp) if wavelength == 1000: print("-------input parameters-------") print("theta1={0} deg".format(theta1_deg)) #print("n1={0}, n2={2}".format(n1, n2)) print("-------output@1000nm-------") print("theta2_deg={0} deg".format(theta2_deg)) #計算チェック完了 print("Rp={0}".format(Rp)) #水の反射率は再現 print("Rs={0}".format(Rs)) #水の反射率は再現 return [Rp, Rs] #parameters #wavelength = 1000 #nm wavelength = np.arange(900, 1500, 1) n1 = 1 theta1_deg = 0 n2 = 1.5 d = 210 #nm n3 = 3.6 Rs = [] Rp = [] for s in wavelength: Rs.append(multi_reflection(n1, n2, n3, theta1_deg, d, s)[1]) Rp.append(multi_reflection(n1, n2, n3, theta1_deg, d, s)[0]) plt.plot(wavelength, Rp) plt.ylabel('R') plt.ylim(0, 1) plt.xlabel('wavelength nm') plt.show()

  • pythonで命令にない文字列の置換が起こります。

    画像のpythonのコードでは文字列trueを参照しながら誤ったスペルの文字列 f の要素 f[i] をtrue[i]で置き換えようとしているのですが、なぜかtrueの要素が変換されてしまいます。 どうしたら直りますか?

    • ベストアンサー
    • hf-sbf5
    • Python
    • 回答数3
  • 文字列置換について

    4901777␣品名A␣規格A␣日付␣␣␣␣␣6280␣␣␣␣7780 4901879␣品名B␣規格B␣日付␣␣␣␣␣6887␣␣␣␣9856 のような文字列があります。 【品名】と【規格】の間の半角空白を置換し 4901777␣品名規格␣日付␣␣␣␣␣6280␣␣␣␣7780 のように置換したいのですが正規表現ではどのように表したらいいでしょうか? ・【品名】と【規格】は全て大文字 ・【品名】と【規格】の箇所は文字列の始まり文字は不確定

  • 関数内のループ文で更新したリストについて

    関数内のループ文で更新したリストを、そのまま保存する方法はありませんか?以下のコードはリスト内部から確率的に値を取り出し、inputされた英文の正誤を元にして出題確率を制御するコードなのですが、関数tester()を実行して毎日勉強しようと思っています。 しかし、前の日に実行した結果更新された重みのリストwが次の日にはリセットされてしまうようなのです。 どうすれば、次の日に反映できますか?何らかのファイルを読み書きするようプログラムしなければなりませんか? true_ans=['those foods enable us to get nutrition even in developing countries', 'there are vast numbers of starving children or breadwinners', 'The claims about crime rates'] queries=['those foods enable us to get nutrition even [mask] developing countries', 'there are vast numb[mask] of starving child[mask] or breadwinn[mask]', 'The c[]ims about c[]me rates'] w=[] w=np.ones_like(true_ans,dtype="int8") def tester(lr=1): for i in range(5): a_Q=random.choices(queries,k=1,weights=w) str_a_Q="".join(a_Q) #choicesから出された後リスト型になっていた為、変換します。 print(a_Q,type(a_Q)) idx=queries.index(str_a_Q) in_ans = input("input answear") if in_ans == true_ans[idx]: w[idx] -= lr #正誤に基づいて単純なフィードバックで制御します。 print("t") else: w[idx] += lr*2 print("The true answere is ",true_ans[idx]) tester()

    • ベストアンサー
    • hf-sbf5
    • Python
    • 回答数1
  • pythonのコードで原因不明のエラーが出ます。

    シーケンス型データに何かの値を掛けるよう命令した覚えはないのですが、can't multiply sequence by non-int of type 'float' というエラーが出ます。 以下は当該のコードです。 リストqueriesの中にある英文からランダムに値を出し、手で入力した回答in_ansの正誤に応じて次に出題する確率を制御するコードです。 import numpy as np import random true_ans=["those foods enable us to get nutrition even in developing countries", "there are vast numbers of starving children or breadwinners"] queries=["those foods enable us to get nutrition even [mask] developing countries", "there are vast numb[mask] of starving child[mask] or breadwinn[mask]"] for i in range(2): w=[] w=np.ones_like(true_ans) a_Q=random.choices(queries,k=1,weights=w) print(a_Q) idx=queries.index(a_Q) in_ans = input("input answear") if in_ans == true_ans[idx]: w[idx] -= 1 print(t) else: w[idx] += 2 print(f)

    • ベストアンサー
    • hf-sbf5
    • Python
    • 回答数2
  • VBAからPythonを動かしたいのですが…

    いつもお世話になっております。 icevainと申します。 python超初心者です。 【質問】 『VBAでPythonを動かす』という興味のあるサイトを見つけました。 https://qiita.com/O_LUPAN/items/1ceb5c950ff40f3558ab サイトのpythonコード #ここから import sys def sum(suji1, suji2): return suji1 + suji2 if __name__ == "__main__": argv = sys.argv suji1 = str(argv[1]) suji2 = str(argv[2]) total = sum(suji1, suji2) print(total) #ここまで サイトのpythonコードを無理やり変更して、 #ここから import sys def sum(suji1, suji2): rst="OK" return rst if __name__ == "__main__": argv = sys.argv suji1 = str(argv[1]) suji2 = str(argv[2]) total = sum(suji1, suji2) print(total) #ここまで OKがかえってくると思ったのですが、 0がかえってきてしまいます。 OKをかえすにはどうすればよいのかわかりません。 お分かりの方おりましたらご協力お願い致します。

    • ベストアンサー
    • icevain
    • Python
    • 回答数2
  • Pythonでのスクレイピング

    あるサイト(https://gemforex.com/login.php) のログイン後の情報をPythonで抜き出したいのですが 以下のソースコードだとログインができていないようです。 何が悪いのでしょうか? import requests email = "メールアドレス" password = "パスワード" session = requests.session() login_info = { "mail":email, "passwd":password, } url_login = "https://gemforex.com/login.php" res = session.post(url_login, data=login_info) print(res.text)

  • pythonでご質問

    こんにちは。pythonの絵解き本よんでますが、やや上のほうに 対話型インタプリンタ(p.xi)では、、という記載があり、この(p.xi) が何をさしてるのか探してます。 初歩的かもしれませんがお教えいただくと幸いです。画像参照ください。 よろしくお願いいたします

    • ベストアンサー
    • Yepes
    • Python
    • 回答数2
  • powerAutomateで自動的に%0D%0Aが

    powerAutomateでスクレイピングのため、以下のようにアクションを設定しました 「新しいMicrosoftEDGEに移動する」アクションでウェブブラウザを開き、 「pythonスクリプトの実行」アクションで、以下のようにURLを結合 『s='https://www.youtube.com/watch?v='+'SC42pCNLoJk' print s』して %PythonScriptOutput%に値を出力 「Webページに移動します」アクションで、%PythonScriptOutput%のURLにジャンプするようにしました すると、 『URL が無効です。絶対 URL を使用していることを確認してください。: Microsoft.Flow.RPA.Desktop.Modules.SDK.ActionException: URL '%EF%BB%BFhttps://www.youtube.com/watch?v=SC42pCNLoJk%0D%0A' が無効なため、移動できませんでした。 ---> System.UriFormatException: URL が無効です。絶対 URL を使用していることを確認してください。』 というエラーがでました。 %0D%0A'という改行?を示す文字列が自動的に付与されているみたいです。 この改行を取り除く方法はありますか? 解決方法をよろしくおねがいします

  • power automate のスクレイピング

    power automateで以下のようにアクションを作成しました 「新しいMicrosoftEDGEを起動」 「Webページ上の情報を取得します」 にて現在のURLを取得し、 「pythonスクリプトの実行」にて 『r=%WebPageProperty% print r』 と、前のアクションで得たURLを代入して出力します。 実行すると、 SyntaxError: unexpected token ':' というエラーがでてきます これは取得したURLのダブルコロンが何か悪さをしているのだろうと、エスケープキーの無効化などを調べましたが、うまくいきません 解決方法をお願いしたいです

  • pythonのif for文の処理を複数行書きたい

    C言語などはfor if文を使うとき if(条件式){ 処理 } for(条件式){ 処理 } など中括弧を使いますが、 pythonはカッコを使わず for 条件式: 処理 などと、中括弧を使いません。 しかし for 条件式: 処理1、 処理2, 処理3… などと言った処理を書くと、処理1だけがループされ、 if 条件式: 処理1、 処理2, 処理3… だと、処理1だけがifの対象になりますよね 処理1,2,3すべてがforやifの対象になるにはどういう書き方をすればいいんでしょうか。 「for if 複数行処理」などで検索しても、or andなど複数条件などがヒットして中々探せません

  • エディターはATOM or Code?

    Pythonを勉強するのにエディターは何がいいでしょうか? ご回答のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • KOUZOU2
    • Python
    • 回答数5
  • pythonの作法

    python の一文になります。 ret, thresh = cv2.threshold(gray, 120, 255, cv2.THRESH_BINARY) とあるのですが、 res,thresh =と2つの変数に同時に代入しているのでしょうか?

    • ベストアンサー
    • dhtfyjh
    • Python
    • 回答数1
  • Pythonの始め方。

    いつもお世話になりありがとうございます。 今まではJAVAをやっていましたがPythonを勉強したいと思います。 Ubuntu20.04にAtomをインストールしました。 Windows10の方がいいでしょうか? Pythonを始めるにあたってのアドバイスをお願いします。 ぶしつけな質問だと思いますが、どうかご回答のほど、 宜しくお願い申し上げます。

    • ベストアンサー
    • KOUZOU2
    • Python
    • 回答数1
  • pythonの本体処理の直前のifについて

    pythonのプログラム作法として、上から順番に、 1 拡張ライブラリの読み込み 2 関数、クラスの定義 3 処理の本体 と進むことが多い(必ずそうでなくてもいい)とのことです。 そして、3の"処理の本体"に入る前には、メインであることを確認する、以下のif文を入れる習慣とのことです。 if __name__ == '__main__': #メインのプログラムであるときに以下を実行する ここで質問ですが、この処理がメインである、ということはどこにも宣言しているわけではなく、処理の手順上自然にそうなってしまうわけですね。 C言語だったら、int main() というようなことになるし、Fortranだったら宣言と処理は見たらわかるわけです。 pythonのこのif __name__ == '__main__': は、何を問うているいるのでしょうか。__name__は変数なのでしょうか。 実際にコメントアウトしてインデントを調整したら、このif文がなしでも動作します。 例えば、クラスにおけるコンストラクタ __init__ のように __ がつくものはpythonのきまりなのだろうとは思いますが。 よろしくお願いします。

  • プログラミングの外部ライブラリってpythonだけ

    プログラミングの外部ライブラリってpythonだけですか? 英語でなんていうんですか?

  • pythonのクラスのメンバー関数の呼び出し

    pythonの教科書を見ながら実習しているのですが、1つ不明なことがあり、お尋ねします。 クラスに属するメソッドについてです。以下の3つのパターンが出てきました。 1 __init__ 2 __xxx 3 __で始まらないもの。 この3つのうちで、 1はコンストラクタのようで、オブジェクトを定義したときの初期値設定みたいで、 3は普通のメソッドであり、オブジェクト.メソッド()で呼び出すようです。 2はマングリング機能でオブジェクトから呼び出すことができないということでした。 では、いつ呼び出されるのかという疑問があります。 オブジェクトのメンバー関数が呼ばれるたびにその都度実行されるということでしょうか。 本に明記されていないので、解説をよろしくお願いします。

  • pythonのcondaコマンドとプロキシ

    python, anacondaなのですが、プロンプト画面からconda update anacondaと投入してもurlに到達できない、とのメッセージが出ます。 再度、コマンド投入を促されるようなメッセージが出ますが、プロキシの問題なのだろうと思います。 condaコマンドではプロキシをどのように処理するのでしょうか。condaコマンドの投入前に環境設定のコマンドを投入するのでしょうか。もし、解決策があればよろしくお願いします。あるいは全く別の問題なのでしょうか。 なお、PCはWin10で、http経由でのプロキシの通過はできます。このプロキシですが、PCをサーバに登録してあり、PC単位で認証するのでパスワードなどはありません。 また、この書き込みは当該PCなのでネット接続は問題ありません。 よろしくお願いします。