如何将if uuuu name uuuuuu==“uuuuuu main_uuuuuuu”转换为函数main()?
回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<ul>
<li>您好,我是python新手,想知道如何将<code>__name__ == "__main__"</code>转换为函数<code>def main()</code></李>
</ul>
<pre><code>def compute_time(list_of_times):
"""Function to convert time in seconds to time in millisecond.
Parameters:
times_list = List of times_string splitted by space ' ' (List)
Returns:
times = Converted times (List)
"""
times = [] # In seconds
for time_string in list_of_times:
times.append(int(time_string) / 1000)
return times
def compute_speed(times_after_computation):
"""Function to compute speeds based on times.
Parameters:
times = Converted times (List)
Returns:
speeds = Computed speeds (List)
"""
speeds = []
for i in range(len(times_after_computation) - 1):
speed_m_per_s = circumference / ((times_after_computation[i + 1] \
- times_after_computation[i]))
speeds.append(speed_m_per_s)
return speeds
def print_table(times_computed, speeds_computed):
"""Function to print times speeds like a table.
Parameters:
times = Converted times (List)
speeds = Computed speeds (List)
"""
print("Time (s) Speed (m/s)")
for i, _ in enumerate(speeds_computed):
print("{:6.2f} {:9.2f}".format(times_computed[i], speeds_computed[i]))
if __name__ == "__main__":
circumference = float(input("Circumference (m)? "))
times_string = input("Times (msecs, space seperated)? ")
times_list = times_string.split()
computed_times = compute_time(times_list)
computed_speeds = compute_speed(computed_times)
print_table(computed_times, computed_speeds)
</code></pre>
<p>您可以定义自己的主函数,并在if语句中调用它,如下所示:</p>
<pre><code>def main():
# Code for main here
if __name__ == "__main__":
main()
</code></pre>
<p>如果直接执行程序(即从终端执行)<code>python [name of program]</code>,而不是导入程序,则执行if语句</p>