使用open()函數開啟檔案,第一個參數為檔名,第二個參數為對該檔案的使用方法:
In [1]:
# 開啟一個新檔案來寫入黑洞X-ray雙星的資訊
file = open('BHXBs.txt', 'w')
file.write('黑洞X-ray雙星名稱, Mass Function (單位:太陽質量)\n')
file.writelines(['GX 339-4, %4.2f\n' %(5.8), 'GRS 1915+105, %4.2f\n' %(9.5), 'XTE J1550-564, %4.2f\n' %(6.9)]) # 格式化字串舊用法
file.close()
In [2]:
# 讀取BHXBs.txt 並印出每一行內容
file = open('BHXBs.txt')
for line in file:
print(line[:-1])
file.close()
In [3]:
period = input("請輸入雙星軌道周期 (單位為秒,請輸入數字): ")
period = float(period)
print(period)
In [4]:
try:
period = input("請輸入雙星軌道周期 (單位為秒,請輸入數字): ")
period = float(period)
print(period)
except:
print("抓到了,你不是輸入數字!")
In [5]:
try:
file = open('NSXBs.txt', 'r')
print(float('周期'))
except IOError:
print('檔案不存在,無法開啟!')
except ValueError:
print('你輸入的資料無法轉成數值!')
else:
file.close()
In [6]:
import math
print(math.pi)
In [7]:
import numpy as np
print(np.pi)
In [8]:
from astropy.constants import G, M_sun
print(2 * np.pi * G)
print(3 * M_sun)
In [9]:
def mass_function(period, radial_velocity):
"""
輸入雙星軌道周期及伴星的徑向速度,印出雙星系統的mass function。
Parameters
----------------
period: 數字
軌道周期 (單位為 s)。
radial_velocity: 數字
伴星的徑向速度 (單位為 m/s)
"""
G = 6.67 * 10 ** -11
print(period / (2 * np.pi * G) * radial_velocity ** 3)
In [10]:
mass_function(144000, 400000)
In [11]:
mass_function?
print(G)
In [12]:
def mass_function2(period, radial_velocity):
"""
輸入雙星軌道周期及伴星的徑向速度,回傳雙星系統的mass function。
Parameters
----------------
period: 數字
軌道周期 (單位為 s)。
radial_velocity: 數字
伴星的徑向速度 (單位為 m/s)
Returns
-----------
result: 數字
mass function的計算值。
"""
G = 6.67 * 10 ** -11
result = period / (2 * np.pi * G) * radial_velocity ** 3
return result
In [13]:
mass_function2(144000, 400000)
Out[13]:
In [14]:
def mass_function3(period, radial_velocity = 400000):
"""
輸入雙星軌道周期及伴星的徑向速度,回傳雙星系統的mass function。
Parameters
----------------
period: 數字
軌道周期 (單位為 s)。
radial_velocity: 數字
伴星的徑向速度 (單位為 m/s),預設值為400000。
Returns
-----------
result: 數字
mass function的計算值。
"""
G = 6.67 * 10 ** -11
result = period / (2 * np.pi * G) * radial_velocity ** 3
return result
In [15]:
mass_function3(144000)
Out[15]: