#!/bin/python3 import sys import random def channelFrequencyGenerator(lower_frequency, upper_frequency): system_random = random.SystemRandom() return system_random.uniform(lower_frequency, upper_frequency) def isfloat(num): try: float(num) return True except ValueError: return False def isint(num): try: int(num) return True except ValueError: return False def valid(argv): return (isfloat(argv[1]) and isfloat(argv[2]) and isfloat(argv[4]) and isint(argv[3])) def verifyChannelSpacing(newchannel, channellist, spacing): for channel in channellist: if(newchannel - channel < spacing and channel - newchannel < spacing): return False else: return True def createChannelList(argv): channellist= [] channellist.append(round(channelFrequencyGenerator(float(argv[1]), float(argv[2])), 5)) i = 1 j = 0 while i < int(argv[3]): newchannel=round(channelFrequencyGenerator(float(argv[1]), float(argv[2])), 5) if(verifyChannelSpacing(newchannel, channellist, float(argv[4]))): channellist.append(newchannel) i+=1 else: j+=1 if j > 3 : return channellist return channellist if __name__ == '__main__': if (valid(sys.argv)): print(createChannelList(sys.argv)) else: print("invalid arguments")