• ベストアンサー

String の途中で改行するには?

こんにちは、何時もお世話になっております。 現在課題をやっている途中なのですが、少し困った事が起きてしまいました。 プログラムは完璧に出来たのですが、どうしても長いStringが存在してしまい、80文字以上の長いラインを書いてはいけないというルールに反してしまうのです。Pythonを使っているのですが、普通は \ を最後につける事によって改行するのですが、例えば、 assert genetics.get_sequence("C:\\dna_example.txt") == \ "CTTATCAACCTGGATGGGGGATAGAAGAGACTCCACTTGT \ "CCACCTCAGCAGTCGTTTAACGCCGTGACCGTGTGGCGTTGTTTTGCTAG", \ "test reading dna file into string" このような構文があった場合、最初の行は成功するのですが、次行のSTRINGがあまりにも長くなってしまい、かと言って\で改行する事ができないのです。検索でもかけてみたのですが、上手い事解決法が見つからず・・・ご存知の方はいらっしゃいますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

正直なところルールの方をどうにかすべきだろうとは 思いますが、そうもいってられないでしょうから assert genetics.get_sequence("C:\\dna_example.txt") == \ のあとを "CTTATCAACCTGG..." +\ "AGAGACTCCACTT..." +\ "...GTTGTTTTGCTAG", \ "test reading dna file into string" としたらどうでしょうか? == の直後と、カンマの直前にそれぞれ開き/閉じカッコを 置いて括った方がいいかもしれません。

DeeAnna
質問者

お礼

やっぱりそうするしか無いですよねー。 実はタイムリーに課題の提出期間が延びたので、教授に聞いてみたのですが、やはり上記のようにやって下さいといわれました。 正直やる意味があるのかどうか・・・は不明ですが。(汗) ご回答有難うございましたー。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

無粋なツッコミですが、 これは多分テストユニットの一文なので、 文字列を変数に入れてしまうとテストの意味が 変わってしまって望ましくありませんよ。>Oh-Orangeさん

DeeAnna
質問者

お礼

うっ・・・私も所々長くなりそうな文を変数に入れてしまっているんですが、 やっちゃ駄目なんですか・・・?ちょっと確認してみますね。 有難うございました。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★塩基配列の文字列を文字列変数などに追加していけば良いのでは? ・塩基配列の文字列を 80 文字以内に収まるように文字列変数に結合していき、  『=』の直後に文字列変数を記述してみてはどう。 ・80 文字以上の長いラインは駄目というのは『DOS』画面への出力なのかな? 余談: ・遺伝子に関わる課題なんですか。興味心身ですね。 ・昔、ATCGの順に『アデニン』、『チミン』、『シトシン』、『グアニン』と4つの  塩基名を覚えたころがありました。懐かしいです。 ・以上。おわり。

DeeAnna
質問者

お礼

なるほど、そう言う手もありますね。 すっきりしそうですし、メモっときますー。 いや、何故かうちの芸術科は、別科を一つ取らなくてはならなくて、 今年はコンピュータープログラムを選んだわけですが、何故遺伝子!?あ( ̄□ ̄;)とショックを受けております。ぶっちゃけ遺伝子って何!科学なの物理なの生物なの!?・・・というぐらいの人間なので、大変でした。 問題の意味を理解するのに実際プログラムの10倍ぐらい時間かかってます。しくしく・・・。 あ、話がそれてしまいましたが、ご回答有難うございました。

関連するQ&A