当前位置:   article > 正文

python上机练习题(——2022年5月15日)_python编写程序,随机产生一个0-300之间的整数,玩家竞猜,若猜中,则提示bingo

python编写程序,随机产生一个0-300之间的整数,玩家竞猜,若猜中,则提示bingo

目录

第一题 1 2 3 4中任意选三个数,组成不重复的三位数

第二题 2-100素数,五个一行 

第三题 猜数字游戏 想停就停 非固定次数

第四题 猴子吃桃

第五题 求和运算   

第六题 输入整数,判断其是否为素数

第七题 水仙花

第八题  最大公约数和最小公倍数

 第九题 找前5个默尼森数

第十题 1~100之间所有素数.

 第十一题  求最大公约数

 第十二题 求解一元二次方程

 第十三题  for循环实现九九乘法表

 第十四题  斐波那契数列前20项

第十五题 菱形阵图

 第十六题 数学家与富人换钱问题

第十七题  星阵图

 第十八题 一元人民币兑换一分、两分、一分的兑换方案

第十九题 程序随机产生一个0~300之间的整数, 玩家竞猜,若猜中则提示Bingo

 第二十题 程序随机产生一个0~300之间的整数,玩家 竞猜,若猜中则提示Bingo,否则提示Wrong

第二十一题  程序随机产生一个 0~300之间的整数, 玩家竞猜,若猜中则提示Bingo,若 猜大了提示Too large,否则提示 Too small

 方法一elif

 方法二if嵌套

第二十二题 符号函数

 第二十三题 用while实现1到100的总和

第二十四题 计算1*2*3*….*10的值

 第二十五题  1!+2!+3!+….+20!

 第二十六题 方阵

第二十七题 平行四边形 

 第二十八题 三角形

 第二十九题  打印半径为1~10的圆的面积,如果面积超过 100,则不再打印。输出此时的半径!

 第三十题 从键盘输入一个4位正整数,正序输入,逆序输出

如:输入4321 输出:1234

第三十一题   编写程序,输入一个9位数,将其分解为3个三位数,并输出

如:输入:123456789 输出:123,456,789


第一题 1 2 3 4中任意选三个数,组成不重复的三位数

  1. for i in range(1,5):
  2. for j in range(1,5):
  3. for k in range(1,5):
  4. if(i!=j)and(i!=k)and(j!=k):
  5. print(i,j,k,end='\n')

第二题 2-100素数,五个一行 

  1. from math import sqrt
  2. j=2;count =0
  3. while j<=100:
  4. i=2
  5. k=int(sqrt(j))
  6. while i<=k:
  7. if j%i==0:break
  8. i+=1
  9. if i>k:
  10. count+=1
  11. if count%5==0:
  12. print(j,end='\n')
  13. else:
  14. print(j,end=' ')
  15. j+=1

第三题 猜数字游戏 想停就停 非固定次数

  1. from random import randint
  2. y=1
  3. x=randint(0,30)
  4. while(True):
  5. z=int(input("猜数字游戏"));
  6. if(x==z):
  7. print("猜测正确")
  8. break;
  9. if(x>z):
  10. print("猜测过小")
  11. else:
  12. print("猜测过大")

第四题 猴子吃桃

  1. sum=1
  2. for i in range(1,10):
  3. sum=(sum+1)*2
  4. print(sum)

第五题 求和运算   

  1. s,s1,s2,s3=0,0,0,0
  2. for i in range(1,201):
  3. s1=s1+i
  4. for i in range(1,51):
  5. s2=s2+i
  6. for i in range(1,21):
  7. s3=s3+1/i
  8. s=s1+s2+s3
  9. print('{0:d},{1:d},{2:f},{3:f}'.format(s1,s2,s3,s))

第六题 输入整数,判断其是否为素数

  1. from math import sqrt
  2. num =int(input("please enter a number:"))
  3. j=2
  4. while j<=int(sqrt(num)):
  5. if num % j==0:
  6. print('{:d}不是素数.'.format(num))
  7. break
  8. j+=1
  9. else:
  10. print('{:d}是素数.'.format(num))

第七题 水仙花

  1. a,b,c = 0,0,0
  2. for i in range(100,1000):
  3. a = i//100
  4. b = i//10%10
  5. c = i%10
  6. if i==a*a*a+b*b*b+c*c*c:
  7. print(i,end='\t')

第八题  最大公约数和最小公倍数

  1. a=int(input("请输入一个数:"))
  2. b=int(input("请输入一个数:"))
  3. c = a*b
  4. while True:
  5. if a>b:
  6. m = a%b
  7. if m==0:
  8. print("最大公约数为:{:d}".format(b))
  9. break
  10. else:
  11. a = b
  12. b = m
  13. else:
  14. a,b=b,a
  15. print("最小公倍数:{:d}".format(c//b))

 第九题 找前5个默尼森数

  1. from math import sqrt
  2. def isprime(x):
  3. '''判断x是否为素数'''
  4. k=int(sqrt(x))
  5. for i in range(2,k+1):
  6. if x%i==0:
  7. return False
  8. return True
  9. p=1
  10. count =1
  11. while count<=5:
  12. p+=1
  13. M=2**p-1
  14. if isprime(p)and isprime(M):
  15. print(p,M)
  16. count+=1

第十题 1~100之间所有素数.

  1. from math import sqrt
  2. def isprime(x):
  3. if x==1:
  4. return False
  5. k= int(sqrt(x))
  6. for j in range(2,k+1):
  7. if x%j==0:
  8. return False
  9. return True
  10. for i in range(1,101):
  11. if isprime(i):
  12. print(i,end=' ')

 第十一题  求最大公约数

  1. def gcd(x,y):
  2. '''calculate the gcd OF x and y'''
  3. if x<y:
  4. x,y=y,x
  5. while x%y!=0:
  6. r=x%y
  7. x=y
  8. y=r
  9. return y
  10. x=eval(input("输入第一个数:"))
  11. y=eval(input("输入第二个数:"))
  12. gcdxy=gcd(x,y)
  13. print('gcd({0:d},{1:d}={2:d})'.format(x,y,gcdxy))

 第十二题 求解一元二次方程

  1. from math import sqrt
  2. def hs1(x1,y1):
  3. s1=-y1/2*x1
  4. return s1
  5. def hs2(x2,y2):
  6. s2=(sqrt(y2))/2*x2
  7. return s2
  8. if __name__ == '__main__':
  9. a,b,c=eval(input('请输入a,b,c:'))
  10. d=b*b-4*a*c
  11. if a==0:
  12. print("不是一元二次方程!")
  13. elif d==0:
  14. x1=hs1(a,b)
  15. print("{0:.2f}".format(x1))
  16. else:
  17. x1=hs1(a,b)+hs2(a,d)
  18. x2=hs1(a,b)-hs2(a,d)
  19. print(int(x1),int(x2))

 第十三题  for循环实现九九乘法表

 

  1. for i in range(1,10):
  2. for j in range(1,i+1):
  3. print(f'{j}*{i}={i*j}',end='\t')
  4. print()

或者

  1. for i in range(1,10):
  2. for j in range(1,i+1):
  3. print('{0:d}*{1:d}={2:d} '.format(i,j,i*j),end='')
  4. print('')

 第十四题  斐波那契数列前20项

  1. f = [0] * 20
  2. f[0],f[1]=0,1
  3. for i in range(2,20):
  4. f[i]=f[i-1]+f[i-2]
  5. print(f)

第十五题 菱形阵图

  1. for i in range(1,5):
  2. for j in range(1,5-i):
  3. print('',end=' ')
  4. for k in range(1,2*i):
  5. print('*',end='')
  6. print('')
  7. for i in range(1,4):
  8. for j in range(0,i):
  9. print(' ',end='')
  10. for k in range(1,8-2*i):
  11. print('*',end='')
  12. print('')

 第十六题 数学家与富人换钱问题

  1. s,d=0,1
  2. x=30*100000
  3. for i in range(1,31):
  4. s=s+d
  5. d=2*d
  6. s=s/100
  7. print('{0:.2f},{1:.2f},{2:.2f}'.format(d,s,s-x))

第十七题  星阵图

  1. for i in range(1,5):
  2. for j in range(1,5-i):
  3. print('',end=' ')
  4. for k in range(1,2*i):
  5. print('*',end='')
  6. print('')

 第十八题 一元人民币兑换一分、两分、一分的兑换方案

  1. i,j,k=0,0,0
  2. count = 0
  3. for i in range(21):
  4. for j in range(51):
  5. k=100-5*i-2*j
  6. if k>=0:
  7. count+=1
  8. print('count={:d}'.format(count))

第十九题 程序随机产生一个0~300之间的整数, 玩家竞猜,若猜中则提示Bingo

  1. from random import randint
  2. x = randint(0, 300)
  3. num = int(input('Please enter a number between 0~300: '))
  4. if num == x:
  5. print('Bingo!')

 第二十题 程序随机产生一个0~300之间的整数,玩家 竞猜,若猜中则提示Bingo,否则提示Wrong

  1. from random import randint
  2. x = randint(0, 300)
  3. num = int(input('Please enter a number between 0~300: '))
  4. if num == x:
  5. print('Bingo!')
  6. else:
  7. print('Fail!')

第二十一题  程序随机产生一个 0~300之间的整数, 玩家竞猜,若猜中则提示Bingo,若 猜大了提示Too large,否则提示 Too small

 方法一elif

  1. from random import randint
  2. x = randint(0, 300)
  3. num = int(input('Please input a number between 0~300: '))
  4. if num == x :
  5. print('Bingo!')
  6. elif num > x:
  7. print('Too large, please try again.')
  8. else:
  9. print('Too small, please try again.')

 方法二if嵌套

  1. from random import randint
  2. x = randint(0, 300)
  3. num = int(input('Please input a number between 0~300: '))
  4. if num == x :
  5. print('Bingo!')
  6. else:
  7. if num > x:
  8. print('Too large, please try again.')
  9. else:
  10. print('Too small, please try again.')

第二十二题 符号函数

  1. x = eval(input('Enter a number: '))
  2. if x < 0:
  3. sgn = -1
  4. elif x == 0:
  5. sgn = 0
  6. else:
  7. sgn = 1
  8. print ('sgn = {:.0f}'.format(sgn))

 第二十三题 用while实现1到100的总和

  1. sum = 0
  2. i = 1
  3. while i <= 100:
  4. sum += i
  5. i += 1
  6. print('1+2+…+100 = {:d}'.format(sum))

第二十四题 计算1*2*3*….*10的值

  1. s = 1
  2. i = 1
  3. while i <= 10:
  4. s *= i
  5. i += 1
  6. print(‘1*2*…*10 = {:.2f}'.format(s)

 第二十五题  1!+2!+3!+….+20!

  1. 1!+2!+3!+….+20!
  2. (1= 1
  3. s=0
  4. d=1
  5. while i <= 20:
  6. d*=i
  7. s=s+d
  8. i += 1
  9. print(‘1!+2!+…+20! = {:.2f}'.format(s))

 第二十六题 方阵

 

  1. for i in range(1,5):
  2. for j in range(1,5):
  3. print('*',end='')
  4. print('\n')

第二十七题 平行四边形 

 

  1. for i in range(1,5):
  2. for j in range(1,5):
  3. print('*',end='')
  4. print('\n')

 第二十八题 三角形

 

  1. for i in range(1,5):
  2. for j in range(1,5-i):
  3. print(' ',end='')
  4. for k in range(1,2*i-1):
  5. print('*',end='')
  6. print('')

 第二十九题  打印半径为1~10的圆的面积,如果面积超过 100,则不再打印。输出此时的半径!

  1. pi=3.14
  2. for i in range(1,11):
  3. s=pi*i*i
  4. if s>100:
  5. break
  6. print('{0:5.2f},{1:5.2f}'.format(i,s))
  7. print(‘{0:.2f}'.format(i))

 第三十题 从键盘输入一个4位正整数,正序输入,逆序输出

如:输入4321 输出:1234

  1. num=input("请输入四位整数: ")
  2. print("你输入的是: ",num)
  3. print("他的正序数是:",num)
  4. print("他的相反顺序的数
  5. 是:",num[3:4],num[2:3],num[1:2],num[0:1])

第三十一题   编写程序,输入一个9位数,将其分解为3个三位数,并输出

如:输入:123456789 输出:123,456,789

  1. s=input("input 9 numbers:")
  2. print(s[0:3],",",s[3:6],",",s[6:9])

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/602251
推荐阅读
相关标签
  

闽ICP备14008679号