1.怎么让这个代码输出是no和yes 为什么直接修改会不符合代码要求 刚开始学不太懂
import keyword
def Is_legalword(s):
for key in s:
if not key in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_':
return False
return True
def Is_legal(s):
if s[0]=='_' or s[0].isalpha():
if keyword.iskeyword(s):
return False
elif Is_legalword(s):
return True
else:
return False
else:
return False
line=input()
print(Is_legal(line))
2.这是十进制数转化二进制的代码
如何添加使这个也能输出二进制中0的个数并且判断n不是整数的情况输出error
a = int(input())
s = ''
if a == 0:
print('0')
else:
while a != 0:
y = a % 2
a //= 2
s += str(y)
print(s[::-1])
if Is_legal(line)==True:
print('yes')
else:
print('no')
第二个:
a = eval(input())
s = ''
n=0
if a == '0':
print('0')
else:
if type(a) == int:
while a != 0:
y = a % 2
if y==0:
n+=1
a //= 2
s += str(y)
print(s[::-1]+'包含'+str(n)+"个0")
else:
print('error')
1.
print('yes' if Is_legal(line) else 'no')
2.你的代码里根本也没有n呀,你想判断是不是整数好歹先把input赋值给n,再判断是否包含点