Skip to content
scipython.com

Q2.5.4Alkane chemical formulae

Straight-chain alkanes are hydrocarbons with the general stoichiometric formula \(\mathrm{C}_n\mathrm{H}_{2n+2}\) in which the carbon atoms form a simple chain: for example, butane, \(\mathrm{C_4H_{10}}\) has the structural formula which may be depicted \(\mathrm{H_3CCH_2CH_2CH_3}\). Write a program to output the structural formula of such an alkane, given its stoichiometry (assume \(n>1\)). For example, given stoich='C8H18', the output should be:

H3C-CH2-CH2-CH2-CH2-CH2-CH2-CH3
Show solution

Here's one solution, using stoich='C8H18' as an example:

stoich = 'C8H18'

fragments = stoich.split('H')
nC = int(fragments[0][1:])
nH = int(fragments[1])
if nH != 2*nC + 2:
    print('{} is not an alkane!'.format(stoich))
else:
    print('H3C', end='')
    for i in range(nC-2):
        print('-CH2', end='')
    print('-CH3')

The output is:

H3C-CH2-CH2-CH2-CH2-CH2-CH2-CH3