我正在努力学习Python编程,我对此很陌生.
我在打印一系列素数从一到百时遇到了问题.我无法弄清楚我的代码是什么问题.
这是我写的; 它打印所有奇数而不是素数:
for num in range(1,101):
for i in range(2,num):
if (num%i==0):
break
else:
print(num)
break
Run Code Online (Sandbox Code Playgroud) 我是python编程的新手.刚刚遇到这个问题.我必须采用自然数n作为输入和输出将是自然数m,使得m> n和m的二进制表示中的1的数量= n的二进制表示中的1的数量.(样本输入:23,输出:27)这是我写的.我在使用while循环时遇到了麻烦.
n=int(input('input number:'))
x=''
for i in range(1,n+1):
x=str(n%2)+x
n>>=1
List=[]
for i in x:
List.append(i)
n_count=List.count('1')
m=n+1
y=''
while m>n:
for i in range(1,m+1):
y=str(m%2)+y
m>>=1
List2=[]
for i in y:
List2.append(i)
m_count=List2.count('1')
if m_count==n_count:
print (m)
break
m=m+1
Run Code Online (Sandbox Code Playgroud)