问题遇到的现象和发生背景
本人刚学python,今天写一个将十进制整数转换为二进制的python程序时遇到一点问题,
如下图,
a=input("请输入待转换的十进制数字:")
b=a
def transform(num):
while num >= 1:
global str1
str1=''
if num % 2 == 0:
str1 += str(0)
else:
str1 += str(1)
num = num // 2
if float(a) % 1==0:
a = int(a)
transform(a)
print(f'str1是{str1}')
print(f"将{b}转换二进制,结果是:{str1[::-1]}")
运行结果及报错内容
请输入待转换的十进制数字:100
str1是1
将100转换二进制,结果是:1
我的解答思路和尝试过的方法
我想让print语句可以访问到函数中的str1,因此使用global方法,
但是导致while循环只执行一次
我想要达到的结果
while循环正常执行,程序可以将十进制整数转换为二进制