python 练习题

python 练习题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.youkuaiyun.com/weixin_42584739/article/details/81043552
1、输出1-100之间所有能被7整除但是不能被5整除的数

for a in range(1,101): #循环除1到100之间的所有数
if a%7==0 and a%5!=0: #进行判断
print(a)

2、输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。
例如:153是水仙花数,因为153 = 13 + 53 + 33

for i in range(100, 1000):
x = math.floor(i / 100) # 获得百位数
y = math.floor((i - x * 100) / 10) # 获得十位数
z = i - math.floor(i / 10) * 10 # 获得个位数
if i == x ** 3 + y ** 3 + z ** 3:
print(i, end=’, ')

第二种写法(注意python语言中字符串的巧妙使用):

for i in range(100,1000):
a=str(i)
b=int(a[0])
c=int(a[1])
d=int(a[2])
if i==pow(b,3)+pow(c,3)+pow(d,3):
print(i)

3、不断地输入数字,输入b退出,然后打印出以下内容总和是多少 有多少个 平均是多少
sum=0
count=0
while True:
a=input(“请输入一个数字:”)
if a==“b”:
break #结束循环
else:
count+=1
sum+=int(a)
print(sum)
print(count)
print(sum/count)

4、求200以内能被17整除的最大正整数。
for i in range(200,17,-1):
if i%17==0:
print(i)
break

5、鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。
for c in range(0,31):
if 2*c+(30-c)*4 == 90:
print(“鸡有:”,c,“只”)
print(“兔有:”,30-int©,“只”)

6、编写程序,输出由1、2、3、4这四个数字组成的每位数都不相同的所有三位数。
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if a!=b and a!=c and b!=c :
print("%d%d%d" %(a,b,c)," “,end=”")

7、编写程序,生成一个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间。
a = random.sample(range(1,101),20) #random.sample()生成不相同的随机数
print(a)

8、编写程序,计算百钱买百鸡问题。假设公鸡5元一只,母鸡3元一只,小鸡1元三只,现在有100块钱,想买100只鸡,问有多少种买法?
for a in range(0,101):
for b in range(0,101):
for c in range(0,101):
if a5+b3+c/3100 and a+b+c100:
print(a,b,c)

9、统计int a = 847574中位值为”1”的个数(Integer)
如果a = 7, 那么位值为1的个数为3
如果a = 9, 那么位值为1的个数为2
a=847574
count=0
while a!=0:
if a%2==1:
count+=1
else:
pass
a=a//2

第二种写法,直接调用bin函数
print(bin(847574).count(“1”))

10、在屏幕上打印1-30数,每7个数换行
for i in range(1,31):
if i%7==1:
print()
print( i,end="")

11、打印1000以内的所有素数(质数,只能被1和自身整除的数)
i = 2
while(i < 1000):
j = 2
while(j <= (i/j)):
if not(i%j):
break
j = j + 1
if (j > i/j) :
print (i," “,end=”")
i = i + 1

12、打印10以内所有的偶数
for i in range(0,10):
if i%2==0:
print(i)

13、九九乘法口诀表
for i in range(1,10):
for j in range(1,i+1):
print( “%d*%d=%d\t”%(j,i,j*i),end="")
print()

14从控制台输出,方法定义如右下图:
123456
234561
345612
456123
561234
612345
for i in range(1,7):
for j in range(i,7):
print(j,end="")
for h in range(1,i-1+1):
print(h,end="")
print()
————————————————
版权声明:本文为优快云博主「刘大贵人」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_42584739/article/details/81043552

那么大家就可以三丰云”“免费/虚拟/主机”“免费/云/服务器,bu要钱,百度看下
那么大家就可以三丰云”“免费/虚拟/主机”“免费/云/服务器,bu要钱,百度看下

https://www.sanfengyun.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值