目录
第十九题 程序随机产生一个0~300之间的整数, 玩家竞猜,若猜中则提示Bingo
第二十题 程序随机产生一个0~300之间的整数,玩家 竞猜,若猜中则提示Bingo,否则提示Wrong
第二十一题 程序随机产生一个 0~300之间的整数, 玩家竞猜,若猜中则提示Bingo,若 猜大了提示Too large,否则提示 Too small
第二十九题 打印半径为1~10的圆的面积,如果面积超过 100,则不再打印。输出此时的半径!
第三十一题 编写程序,输入一个9位数,将其分解为3个三位数,并输出
第一题 1 2 3 4中任意选三个数,组成不重复的三位数
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if(i!=j)and(i!=k)and(j!=k):
print(i,j,k,end='\n')
第二题 2-100素数,五个一行
from math import sqrt
j=2;count =0
while j<=100:
i=2
k=int(sqrt(j))
while i<=k:
if j%i==0:break
i+=1
if i>k:
count+=1
if count%5==0:
print(j,end='\n')
else:
print(j,end=' ')
j+=1
第三题 猜数字游戏 想停就停 非固定次数
from random import randint
y=1
x=randint(0,30)
while(True):
z=int(input("猜数字游戏"));
if(x==z):
print("猜测正确")
break;
if(x>z):
print("猜测过小")
else:
print("猜测过大")
第四题 猴子吃桃
sum=1
for i in range(1,10):
sum=(sum+1)*2
print(sum)
第五题 求和运算
s,s1,s2,s3=0,0,0,0
for i in range(1,201):
s1=s1+i
for i in range(1,51):
s2=s2+i
for i in range(1,21):
s3=s3+1/i
s=s1+s2+s3
print('{0:d},{1:d},{2:f},{3:f}'.format(s1,s2,s3,s))
第六题 输入整数,判断其是否为素数
from math import sqrt
num =int(input("please enter a number:"))
j=2
while j<=int(sqrt(num)):
if num % j==0:
print('{:d}不是素数.'.format(num))
break
j+=1
else:
print('{:d}是素数.'.format(num))
第七题 水仙花
a,b,c = 0,0,0
for i in range(100,1000):
a = i//100
b = i//10%10
c = i%10
if i==a*a*a+b*b*b+c*c*c:
print(i,end='\t')
第八题 最大公约数和最小公倍数
a=int(input("请输入一个数:"))
b=int(input("请输入一个数:"))
c = a*b
while True:
if a>b:
m = a%b
if m==0:
print("最大公约数为:{:d}".format(b))
break
else:
a = b
b = m
else:
a,b=b,a
print("最小公倍数:{:d}".format(c//b))
第九题 找前5个默尼森数
from math import sqrt
def isprime(x):
'''判断x是否为素数'''
k=int(sqrt(x))
for i in range(2,k+1):
if x%i==0:
return False
return True
p=1
count =1
while count<=5:
p+=1
M=2**p-1
if isprime(p)and isprime(M):
print(p,M)
count+=1
第十题 1~100之间所有素数.
from math import sqrt
def isprime(x):
if x==1:
return False
k= int(sqrt(x))
for j in range(2,k+1):
if x%j==0:
return False
return True
for i in range(1,101):
if isprime(i):
print(i,end=' ')
第十一题 求最大公约数
def gcd(x,y):
'''calculate the gcd OF x and y'''
if x<y:
x,y=y,x
while x%y!=0:
r=x%y
x=y
y=r
return y
x=eval(input("输入第一个数:"))
y=eval(input("输入第二个数:"))
gcdxy=gcd(x,y)
print('gcd({0:d},{1:d}={2:d})'.format(x,y,gcdxy))
第十二题 求解一元二次方程
from math import sqrt
def hs1(x1,y1):
s1=-y1/2*x1
return s1
def hs2(x2,y2):
s2=(sqrt(y2))/2*x2
return s2
if __name__ == '__main__':
a,b,c=eval(input('请输入a,b,c:'))
d=b*b-4*a*c
if a==0:
print("不是一元二次方程!")
elif d==0:
x1=hs1(a,b)
print("{0:.2f}".format(x1))
else:
x1=hs1(a,b)+hs2(a,d)
x2=hs1(a,b)-hs2(a,d)
print(int(x1),int(x2))
第十三题 for循环实现九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(f'{j}*{i}={i*j}',end='\t')
print()
或者
for i in range(1,10):
for j in range(1,i+1):
print('{0:d}*{1:d}={2:d} '.format(i,j,i*j),end='')
print('')
第十四题 斐波那契数列前20项
f = [0] * 20
f[0],f[1]=0,1
for i in range(2,20):
f[i]=f[i-1]+f[i-2]
print(f)
第十五题 菱形阵图
for i in range(1,5):
for j in range(1,5-i):
print('',end=' ')
for k in range(1,2*i):
print('*',end='')
print('')
for i in range(1,4):
for j in range(0,i):
print(' ',end='')
for k in range(1,8-2*i):
print('*',end='')
print('')
第十六题 数学家与富人换钱问题
s,d=0,1
x=30*100000
for i in range(1,31):
s=s+d
d=2*d
s=s/100
print('{0:.2f},{1:.2f},{2:.2f}'.format(d,s,s-x))
第十七题 星阵图
for i in range(1,5):
for j in range(1,5-i):
print('',end=' ')
for k in range(1,2*i):
print('*',end='')
print('')
第十八题 一元人民币兑换一分、两分、一分的兑换方案
i,j,k=0,0,0
count = 0
for i in range(21):
for j in range(51):
k=100-5*i-2*j
if k>=0:
count+=1
print('count={:d}'.format(count))
第十九题 程序随机产生一个0~300之间的整数, 玩家竞猜,若猜中则提示Bingo
from random import randint
x = randint(0, 300)
num = int(input('Please enter a number between 0~300: '))
if num == x:
print('Bingo!')
第二十题 程序随机产生一个0~300之间的整数,玩家 竞猜,若猜中则提示Bingo,否则提示Wrong
from random import randint
x = randint(0, 300)
num = int(input('Please enter a number between 0~300: '))
if num == x:
print('Bingo!')
else:
print('Fail!')
第二十一题 程序随机产生一个 0~300之间的整数, 玩家竞猜,若猜中则提示Bingo,若 猜大了提示Too large,否则提示 Too small
方法一elif
from random import randint
x = randint(0, 300)
num = int(input('Please input a number between 0~300: '))
if num == x :
print('Bingo!')
elif num > x:
print('Too large, please try again.')
else:
print('Too small, please try again.')
方法二if嵌套
from random import randint
x = randint(0, 300)
num = int(input('Please input a number between 0~300: '))
if num == x :
print('Bingo!')
else:
if num > x:
print('Too large, please try again.')
else:
print('Too small, please try again.')
第二十二题 符号函数
x = eval(input('Enter a number: '))
if x < 0:
sgn = -1
elif x == 0:
sgn = 0
else:
sgn = 1
print ('sgn = {:.0f}'.format(sgn))
第二十三题 用while实现1到100的总和
sum = 0
i = 1
while i <= 100:
sum += i
i += 1
print('1+2+…+100 = {:d}'.format(sum))
第二十四题 计算1*2*3*….*10的值
s = 1
i = 1
while i <= 10:
s *= i
i += 1
print(‘1*2*…*10 = {:.2f}'.format(s)
第二十五题 1!+2!+3!+….+20!
1!+2!+3!+….+20!
(1= 1
s=0
d=1
while i <= 20:
d*=i
s=s+d
i += 1
print(‘1!+2!+…+20! = {:.2f}'.format(s))
第二十六题 方阵
for i in range(1,5):
for j in range(1,5):
print('*',end='')
print('\n')
第二十七题 平行四边形
for i in range(1,5):
for j in range(1,5):
print('*',end='')
print('\n')
第二十八题 三角形
for i in range(1,5):
for j in range(1,5-i):
print(' ',end='')
for k in range(1,2*i-1):
print('*',end='')
print('')
第二十九题 打印半径为1~10的圆的面积,如果面积超过 100,则不再打印。输出此时的半径!
pi=3.14
for i in range(1,11):
s=pi*i*i
if s>100:
break
print('{0:5.2f},{1:5.2f}'.format(i,s))
print(‘{0:.2f}'.format(i))
第三十题 从键盘输入一个4位正整数,正序输入,逆序输出
如:输入4321 输出:1234
num=input("请输入四位整数: ")
print("你输入的是: ",num)
print("他的正序数是:",num)
print("他的相反顺序的数
是:",num[3:4],num[2:3],num[1:2],num[0:1])
第三十一题 编写程序,输入一个9位数,将其分解为3个三位数,并输出
如:输入:123456789 输出:123,456,789
s=input("input 9 numbers:")
print(s[0:3],",",s[3:6],",",s[6:9])