# user inputs the desired concentration desired_concentration_in_ng_ul = float(input('Enter the desired concentration in ng/ul: ')) # user inputs the list of concentrations concentrations_in_ng_ul = input('Enter the concentrations separated by a space: ') # create a list from the input values concentrations_list = [float(x) for x in concentrations_in_ng_ul.split()] minimum_volume_ratio = 30 # output stuff header_list = ['Sample', 'Initial Conc', 'Desired Conc', 'Dilution', 'Stock ul', 'dH20 ul'] master_output = [] master_output.append(header_list) def calculate_concentrations(concentrations_list, master_output): for c in concentrations_list: dilution_factor = c / desired_concentration_in_ng_ul if dilution_factor < minimum_volume_ratio: stock_volume = minimum_volume_ratio / dilution_factor dilution_factor = minimum_volume_ratio else: stock_volume = 1 output_list = [' ', str(c), str(desired_concentration_in_ng_ul), '{:03.2f}:{:03.2f}'.format(stock_volume, dilution_factor), '{:03.2f}'.format(stock_volume), '{:03.2f}'.format(dilution_factor - stock_volume)] master_output.append(output_list) def output_results(master_output): # determine column width by longest individual item col_width = max(len(word) for row in master_output for word in row) + 4 # padding # print each column for row in master_output: print(''.join(word.ljust(col_width) for word in row)) calculate_concentrations(concentrations_list, master_output) output_results(master_output)
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question