Every driver of a motor vehicle on a street shall drive the same at a careful and prudent speed not greater than nor less than is reasonable and proper, having due regard to the traffic, surface and width of the street and of any other conditions then existing, and no person shall drive a vehicle on any street at a speed greater than will permit said driver to bring it to a stop within the assured clear distance ahead, such driver having the right to assume, however, that all persons using said street will observe the law.
(Code of Iowa, Sec. 321.285)