记录博客 ZH-BLOG

python 实例小程序

时间:2018-07-16 16:28:55分类:python 基础

## 例一:猜数字
def gnum():
	result=12 ## 结果
	count=0 ## 猜测次数
	print('这个数字在1-20之间')
	while True:
		print('请猜一个数字:')
		num=int(input())
		if num>result:
			print('偏大')
			count+=1
			continue
		elif num<result:
			print('偏小')
			count+=1
			continue
		else:
			count+=1
			print('正确,你总共猜了%s次'%(count))
			break

gnum()

这个数字在1-20之间
请猜一个数字:
5
偏小
请猜一个数字:
15
偏大
请猜一个数字:
13
偏大
请猜一个数字:
12
正确,你总共猜了4次

## 例二:猜数字 限6次机会
def gnumlimit():
	result=12 ##结果
	for count in range(1,7): ##总共可猜6次
		print('请猜一个数字:')
		num=int(input())
		if num==result:
			print('正确,你总共猜了%s次'%(count))
			break
		elif num>result:
			print('偏大')
		else:
			print('偏小')
		
gnumlimit()

请猜一个数字:
5
偏小
请猜一个数字:
15
偏大
请猜一个数字:
13
偏大
请猜一个数字:
12
正确,你总共猜了4次

## 例三
##Collatz 序列
##编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,
##那么 collatz()就打印出 number // 2, 并返回该值。如果 number 是奇数, collatz()就打
##印并返回 3 * number + 1。
##然后编写一个程序, 让用户输入一个整数, 并不断对这个数调用 collatz(), 直
##到函数返回值1(令人惊奇的是, 这个序列对于任何整数都有效, 利用这个序列,
##你迟早会得到 1! 既使数学家也不能确定为什么。 你的程序在研究所谓的“Collatz
##序列”,它有时候被称为“最简单的、 不可能的数学问题”)。

def collatz(num):
	if num%2==0:
		num=num//2
		print(num)
		chone(num)
	else:
		num=3*num+1
		print(num)
		chone(num)


def chone(num):
	if num!=1:
		collatz(num)

print('输入任意数字:')
num=int(input())        
collatz(num)

输入任意数字:
6
3
10
5
16
8
4
2
1