人生苦短,我学python

下面就通过几种比较有趣的方法去学python

1、猜数字游戏

'''
猜数字游戏,随机1-10个数字,如果猜对则给出正确,如果没有猜对则给出错误,给用户9次机会
最终结果要求用户一次都猜不对
即1、2、3、4、5、6、7、8、9、10共有10个数字,9次都猜错,最后给出正确的数字
思路:
可以先拿到用户错过的数字,我可以i随机猜一个数字,去和用户猜过的数字做对比,如果这个循环的数字
没有在用户猜过的数字,那么这个数字就是我们需要的数字
'''
import random 
# 定义一个列表,用来存储yoghurt猜过的数字
lst=[]
i = 0
while i<9:
    number = int(input('please input a number betewwn 1 and 10:'))
    lst.append(number)
    print('sorry,you are wrong!!!')
    i +=1
while True:
# number_x bettween 1 and 10
    number_x = random.rangint(1,10)
    if number_x in lst:
     	continue
    else:
     	break
print('the right number is',number_x)

输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_字符串

 2、找出100以内的质数

from time import *
start =time()
i = 2
while i <= 100:
	flag = 1
	j = 2
	while j < i:
		if i%j == 0:
			flag =0
		j +=1
	if flag:
		print(i,end='\t')
	i +=1
end = time()
print()
print('the program runs for',end-start,'second')

输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_python猜数字游戏代码0到9_02

3、创建集合

'''
不可变类型:
int、float、string
可变类型
lsit、tuple
# 不可变对象在内存中保存了3个数据
id (标识)
type(类型)
value(值)

# 集合的创建方法
s=set([1,2,3])
'''
def fn(a):
	a[0]=5
	print('a=',a)
c = [1,2,3]
fn(c.copy())
print('c=',c)

输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_python猜数字游戏代码0到9_03

 4、求任意数的和

'''
def fn(*nums):      # 求任意数的和
	result = 0
	for n in nums:
		result +=n
	print(result)
fn(1,2,3,4)
'''
'''
def fn():
	return 100
r=fn()
print(r)
'''

'''
def fn():
	def fn2():
		print('python')
	return fn2
r =fn()
print(r)
# 在函数中,return后面的代码都不会执行,return一旦执行函数自动结束
'''

help(print)

 输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_学python_04

5、计算任意数阶乘

def factorial(n):   # 创建一个函数求任意数的阶乘
    result = 1
    for i in range (1,n+1):
    	result *=i
    return result
print(factorial(10))

 输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_学python_05

 

6、计算一个数的任意次幂

'''
def exponentiation(n,i):   # 创建一个函数,来为任意数做任意次幂的运算
    # n为底数,i为指数
    # 极限条件,指数为1
    if i==1:
    	return n
    	# 递归条件
    return n*exponentiation(n,i-1)
print(exponentiation(2,4))
'''

def exponentiation(n,i):
	return n **i
print (exponentiation(2,4))

输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_学python_06

 7、判断回文字

def palindrome(s): 
	# 创建一个函数,用来检查任意的字符串是否为回文字符串,如果是返回Ture,如果不是返回False
	# 极限条件,如果字符串长度小于2,则这个字符串是回文串
	if len(s)<2:
		return True
	elif s[0] !=s[-1]:
		return False
	# 递归条件
	return palindrome(s[1:-1])
print(palindrome('python'))

 输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_匿名函数_07

8、匿名函数

result = lambda a,b:a+b
print(result(10,20))

def fn(a,b):   # lambda 匿名函数
	return a+b
print(fn(10,20))

l=[1,2,3,4,5,6,7,8,9,10]
tri=lambda i:i%3==0
r =filter(tri,l)
print(list(r))
# lambda匿名函数俗称语法糖,可以减少代码量和优化程序,减少内存消耗

 输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_匿名函数_08

 9、map()函数

l=[1,2,3,4,5,6,7,8,9,10]
# map()函数,可以迭代对象中的所有元素做指定操作,然后将其添加到一个新的队形返回
r=map(lambda i:i+1,l)
print(list(r))

输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_匿名函数_09

10、了解一下break和continue的作用

i = 0
while i < 6:
	i += 1
	if i == 2:
		continue
	print(i)
else:
	print('hello')

# break用来立即退出循环语句

i = 0
while i<6:
	i += 1
	if i == 2:
		break
	print(i)
else:
	print('hello')

输出如下:

python猜数字游戏代码0到9 python猜数字游戏0到9次_匿名函数_10