2017-01-10 7 views
0

クラスでは、正方形または長方形の面積を計算する関数を扱っています。プログラムは、人の名前、彼らが望む形状、長さと幅が何かを求めます。その後、その形状の領域を印刷し、プログラムは再びループバックします。私がしようとしているのは、それぞれの個々の名前の入力と領域を取り、それらをテキストファイルに出力することです。私たちの先生は、これを行う方法についてあまりにも明確にしていませんでした。どんな助けもありがとう。コードは次のとおりです:私はこれらの入力をテキストファイルに入れようとしています

import time 

def area(l, w): 
    area = l * w 
    return area 

def square(): 
    width = int(input("please enter the width of the square")) 
    squareArea = area(width, width) 
    return squareArea 

def rectangle(): 
    width = int(input("please enter the width of the rectangle")) 
    length = int(input("please enter the length of the rectangle")) 
    rectangleArea = area(length, width) 
    return rectangleArea 

def main(): 
     name = input("please enter your name") 
     shape = input("please enter s(square) or r(rectangle)") 
     if shape == "r" or shape =="R": 
      print ("area =", rectangle()) 
      main() 
     elif shape == "s" or shape == "S": 
      print ("area =", square()) 
      main() 
     else: 
      print ("please try again") 
      main() 
main() 

編集:私は十分に質問をしたとは思わない、申し訳ありません。私は何かを入力できるようにしたい。それをテキストファイルに入れることができます。

+0

あなたが入力を取得したい* *からテキストファイル、または出力*をテキストファイルに送信したいのですか? – Barmar

+0

出力をテキストファイルに送信 –

答えて

0

Thisはあなたが探しているものです。行file = open('file.txt', 'w')は、'file.txt'を表すファイルオブジェクトが格納される変数ファイルを作成します。 2番目の引数、wは、ファイルに "write mode"でファイルを開くように指示します。これを実行すると、f.write('Bla\n')を使ってファイルに書き込むことができます。もちろん、Blaをあなたが追加したい文字列に置き換えます。これは文字列変数にすることができます。この関数はデフォルトで改行を作成しないので、必要ならば末尾に\nを追加する必要があります。

重要:ファイルを作成するとすぐにを使用してください。これにより、メモリからファイルが削除されます。これを忘れると、それは世界の終わりではありませんが、いつも終わらなければなりません。これを行わないと、初心者のプログラムでメモリ使用量やメモリリークが発生する一般的な原因になります。

希望すると便利です。

編集:前述のMattDMoと同様に、withステートメントを使用してファイルを開くことをお勧めします。

with open("file.txt", 'w') as file: # Work with data

これは、ファイルへのアクセスは、このwithステートメントに隔離されていることを絶対に確認します。私にこれを思い出させるためのMattDMoに感謝します。

+0

後でファイルを見ることができますか? –

+0

ファイルI/Oを扱うときには常に 'with'コンテキストマネージャを使うべきです。 – MattDMo

+0

'' file.txt ''は、作成されたスクリプトと同じディレクトリに作成されます。他の場所に置いておきたい場合は、スクリプトがあるディレクトリの中のディレクトリにファイルを指定するか、コンピュータ上のファイルへのパス全体を指定することができます。このファイルは、作成後に他のテキストファイルと同様にアクセスできます。 –

0

簡単な方法:

file_to_write = open('myfile', 'w') # open file with 'w' - write permissions 
file_to_write.write('hi there\n') # write text into the file 
file_to_write.close() # close file after you have put content in it 

あなたは次の例を使用することですべての操作を終えた後にファイルがクローズされていることを確認したい場合は、次の

with open('myfile.txt', 'w') as file_to_write: 
    file_to_write.write("text") 
関連する問題