I've been given out an assignment to write a program for a byteadder. The first program just checks if the entered number is valid or not and imports two other modules which are logicGates and fullAdder. logicGates has no errors, I am sure of it since it consists of gates ( if, else) and nothing more. Here's my code:
dec1=int(input("Enter first decimal number: "))
dec2=int(input("Enter second decimal number: "))
def check(dec1,dec2):
if (dec1+dec2)>255:
print ("The decimal number you've entered is invalid. Please enter another number")
dec1=int(input("Enter first number again: "))
dec2=int(input("Enter second number again: "))
return dec1,dec2
elif (dec1+dec2)>+127 and (dec1+dec2)<-127:
print ("The decimal number you've entered is invalid. Please enter your numbers again")
dec1=int(input("Enter first number again: "))
dec2=int(input("Enter second number again: "))
return dec1,dec2
else:
print("Your number is now converted")
return dec1,dec2
print (check(dec1,dec2))
import conversion
lis1, lis2=conversion.bin2dec(dec1,dec2)
import fullAdder
add= fullAdder.fulladder(lis1,lis2)
print (add)
And here's my fullAdder:
import logicGates
def fulladder(bin1,bin2):
lis1=list(bin1)
lis2=list(bin2)
Cin=0
lisEmp=[]
for i in range(7,-1,-1):
num1=int(lis1[i])
num2=int(lis2[i])
result1=logicGates.XOR(num1,num2)
result2=logicGates.NAND(result1,Cin)
result3=logicGates.OR(result1,Cin)
Sum=logicGates.AND(result2,result3)
result4=logicGates.AND(num1,num2)
result5=logicGates.AND(result1,Cin)
result6=logicGates.NOR(result4,result5)
result7=logicGates.NOT(result6)
Cin=result7
lisEmp.insert(0,Sum)
return lisEmp
Here's my code for bin2dec:
def bin2dec(dec1,dec2):
a=bin(dec1)
b=bin(dec2)
c=a[2:]
d=b[2:]
bin1=c.zfill(8)
bin2=d.zfill(8)
print (bin1)
print (bin2)
This is the error I keep getting.
Traceback (most recent call last):
File "C:\Python34\main.py", line 26, in <module>
lis1, lis2=conversion.bin2dec(dec1,dec2)
TypeError: 'NoneType' object is not iterable