Python之除法

今天用python算法写了一个:
给出一本书的页数,计算页码数字中(0-9)出现的次数
结果让我很意外,(抓狂!)
python版本是3.6.3 编译器是jeany
这是代码

#coding=gbk  让python中可以写入中文注释和输出
number = int(input("输入你想创建的页码数:")) 

count = [0]*10  #记录(0-9)数字出现次数的数组

Sum = 0 #计算while循环次数

for n in range(1,number+1):  #每个页码 分析一次
	flag = [0]*10   #标记 保证在一次页码中同一个数字不重复计数
	while(n):	
		Sum += 1#循环一次 Sum加一
		i = int(n % 10) #分解出页码中的数字
		
		n = n/10
		if flag[i] != 1:
			count[i] += 1
			flag[i] = 1
		

for i in range(10):
	print("数字---使用次数")		
	print('%d     %d' %(i,count[i]))
	
print(str(Sum))	

在这里插入图片描述
结果如上图
我输入的页码数是1
那么页码数字就只有1
所以for循环时一次 对1进行数字分析
while的循环 中 n = n/10 那么 按照常理 n = 0
while循环一次 退出
而while却循环了324次 懵!!!
分析看看 while循环没出来 那么n到底经历了什么

while(n):
---snip——
	n /= 10
	print(n) #我们来看看n到底经历了什么 
——snip---
# ~ for i in range(10):
	# ~ print("数字---使用次数")		
	# ~ print('%d     %d' %(i,count[i]))
	
print('while循环次数' + str(Sum))

我将输出计数的部分注释掉
在这里插入图片描述
在这里插入图片描述
原来是 浮点!
然后我试了一下

print('2/3 = ' + str(2/3))

a = 2
b = 3
print('a=2,b=3 \t a/b = ' + str(a/b))

c = int(2)
d = int(3)

print('c/d = ' + str(c/d))

print('int(c/d) = ' + str(int(c/d)) )

结果
在这里插入图片描述
在这个情况下
python中的两个不能整除的两个整型相除 得到的会是浮点型

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值