Non metal generally donot displaces hydrogen from dilute acid ? why
As said by your friends, the reason why non-metals do not displace hydrogen from dilute acids is because unlike metals, non-metals do not have a tendency to lose electrons but to gain electrons. Metals have a tendency to lose electrons. These electrons, which are readily lost by reactive metals like sodium, potassium etc are accepted by hydrogen ions of the acids, reducing them to hydrogen gas (H2).
2 H+ + 2e- → H2
However, non-metals do not lose electrons readily, because of which they do not displace hydrogen from acids. Another important point to note is that not all metals will displace hydrogen from acids. Only those metals which are reactive than hydrogen will displace H2 from acids.