文章目录
1.猜数字游戏
代码中生成一个随机整数. 然后用户输入数字后, 程序提示用户的输入是高了还是低了. 直到用户猜中这个数字, 游戏结束. 提示, random模块的randint函数能够帮助我们生成随机数.
import random
random.seed()
a=random.randint(1,10)
b=eval(input('请输入[1,10]区间你猜想的数字》'))
while True:
if a==b:
print('恭喜你,猜对了,奖品是我的吻!')
break
else:
if a<b:
print('你猜大了,惩罚是我的吻!')
else:
print('你猜小了,惩罚是我的吻!')
b=eval(input('请重新猜测[1,10]区间的数》'))
print('谢谢!')
2.数9
编写程序数一下 1到 100 的所有整数中出现多少次数字9。
ret=0
for x in range(1,100):
if x%10==9:
ret+=1
if x//10==9:
ret+=1
print(ret)
20
3. 在屏幕上输出以下图案
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
for x in range(1,8):
print(' '*(7-x),'*'*(2*x-1),sep='')
for x in range(1,7):
print(' '*x,'*'*(13-2*x),sep='')
4.水仙花数
求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
/在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。/
ret=0
for x in range(1,1000):
y=x
val=0
while y!=0:
val+=(y%10)**3
y=y//10
if val==x:
print(x,end='\t')
ret+=1
print('0~999之间一共有%d个水仙花数' %ret)
1 153 370 371 407 0~999之间一共有5个水仙花数
5. 2+22+222+2222+22222
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
#Sn=a+aa+aaa+aaaa+aaaaa
a=eval(input('给定a》'))
b=eval(input('求前多少项的和》'))
cur=a
ret=cur
for x in range(2,b+1):
cur=cur*10+a
ret+=cur
print(ret)
给定a》2
求前多少项的和》5
24690
6. 生成二维吗
需要依赖第三至少两个第三方库,依次安装即可:
pip install Image
pip install qrcode
代码很简单
import qrcode
qrcode.make("张威真帅").save("./test.png")
7. 打印FUN
print('FFFFFFF ','U ','U ','NN ','NN',sep='')
print('FF ','U ','U ','NNN ','NN',sep='')
print('FFFFFFF ','U ','U ','NN N ','NN',sep='')
print('FF ',' U ','U ','NN N ','NN',sep='')
print('FF ',' UUU ','NN NNN',sep='')
8.二分查找
写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
def _find(_list,x):
for i in range(0,len(_list)):
if x==_list[i]:
return i
else:
return None
a=[10,32,45,65,92,102,200]
print(_find(a,65))
或者写成这样
def _find(_list,x):
for i,val in enumerate(_list):
if x==val:
return i
else:
return None
a=[10,32,45,65,92,102,200]
print(_find(a,65))
3
9. 写一个函数返回参数二进制中 1 的个数
比如: 15的二进制形式为0000 1111一共有4 个 1
def find_bin_one(x):
val = x
ret=0
while val!=0:
if val & 1==1:
ret+=1
val=val>>1
return ret
print(find_bin_one(15))
4