综合应用01
一、格式化操作符
1、请在控制台打印出下面这句话:小明买了 8 斤苹果,每斤 4.98 元。[看看哪位同学最先打印出来 !]
2、再回忆上节课的打印输出九九乘法表的时候所用到的打印语句吗?赶紧敲一敲!print(str(b),"*",str(a),"=",str(a*b),end="\t")是不是要转类型,要拼接变量和变量的运算以及算术运算符。。很麻烦吧
3、格式化操作符:% 小小的百分号,不要小看它哦,他可是专门用于处理字符串中的格式,具体怎么用呢,先看老师给同学们演示一下:还是(1)中的例子
#首先定义变量
num = 8
apple = 4.98
print("小明买了%d斤苹果,每斤%.2f元" %(num,apple))
我们用“%d”代替数字8,用“%.2f”代替数字 4.98,%和不同的字符连用,不同类型的数据需要使用不同的格式化字符。
4.98 是浮点型的数据类型,浮点型的英文单词( float ),这里面的f就是缩写,”.2”的意思就是指,保留小数点后面两位小数;
是不是很神奇这两个符号就相当于占位符,把这个位罗先占着,在后面,我们在输入一个百分号,然后把需要替换进去的变虽按顺序排上,
如果只有一个,就不用加括号,因为老师这里用了两个占位符,所以需要加括号[记住,两个及两个以上都需要加括号哦 !]现在我们打印一下,是不是成功了,并且比刚才第一种拼接的输入方法方便很多!
不同类型的数据需要使用不同的格式化字符,我们之前都学了哪些变是的类型同学们还记得吗?
[字符串( str ),整数( int ),浮点( float ),布尔型( bool )],
字符串我们用%s 表示,s(str)的缩写表示字符串; %d 表示整型,在百分号后面跟数字表示显示的位数,这个和浮点数很像,但是浮点数表示的是小数点后面的位数,并且要加个小数点,这个很重要,千万别忘了!
还有就是在打印语句中,如果在格式化字符后面需要打印“%”,则需要输入两个“%%”百分号才能打印输出一个“%”百分号哟,不信你们可以试一下!下面同学们可以自己练习一下,打印刚才的语句
那么第(2)个呢 应该怎么改进呢?print("%d * %d = %d" % (b,a,b*a),end="\t")
二、猜数字小游戏(作业1)
请同学们将下面这个小游戏代码补充完整!!!
#电脑会随机出一个1-100之间得整数,用户来猜,如果猜大或者猜小,要给出相应得提示,并可以重复猜测。如果猜对了,那么游戏自动结束。
import random
# 电脑充当角色A,随机生成一个整数(1-100);
computer = random.randint(1,100)
三、水仙花数
有没有同学知道什么事水仙花数?
水仙花数是在数学数字中非常神奇的数字,它是指一个三位数,它每个位置上的数的三次方之和都等于它本身。
举个例子,153。我们可以看到它的百位数是 1,十位数是 5,个位数是 3,
我们来计算一下1的三次方是它本身,5的三次方是 5*5*5 = 125,3的三次方 3*3*3 = 27,那么 1+125+27 等于多少呢 ?153。
是不是神奇?三位数是 100 - 999 这个范围那么这个范国向 153 这样的水仙花数有多少呢?
"""
假设 a= 541
bai = int(a / 100) 541 / 100 = 5.41,int()取整数为5
shi = int(a / 10) % 10 541 / 10 = 54.1,int()取整为54
54 % 10 = 4,“%”取余数为4
ge = a % 10 541 % 10 = 54.1,“%”取余数为1
"""
for a in range(100,1000): #确定取值范围100-1000之间,不包括1000
bai = int(a / 100) #提取百位上的数字
shi = int(a /10) % 10 #提取十位上的数字
ge = a % 10 #提取个位上的数字
if bai**3 + shi**3 + ge**3 == a: #"**"表示幂
print(a) #打印
四、四叶玫瑰数
注意看几个关键字相信同学们就可以猜出四叶玫瑰数是个什么了 !
一个四位数每个位晋上的数字的 4 次方之和等于它本身。
数学是不是一个很神奇的东西,居然还有这么巧妙的数字 !举个例了给同学们看一下,1634,同学们算一算这个数字是不是四叶玫瑰数,看哪位同学计算能力强先计算出来。
千位数是1,1*1*1*1 = 1:百位数是6,6*6*6*6= 1296;十位数是3,3*3*3*3= 81;个位数是4,4*4*4*4 = 256;求和1 +1296 + 81 + 256 = 1634
"""
假设 a= 3541
qian = int(a / 1000) 3541 / 1000 = 3.541,int()取整数为3
bai = int(a / 100) % 10 3541 / 100 = 35.41,int()取整数为35
35 % 10 = 5 “%”取余数为5
shi = int(a / 10) % 10 3541 / 10 = 354.1,int()取整为354
354 % 10 = 4,“%”取余数为4
ge = a % 10 3541 % 10 = 354.1,“%”取余数为1
"""
for a in range(1000,10000): #确定取值范围
qian = int(a / 1000)
bai = int(a / 100) % 10
shi = int(a / 10) % 10
ge = a % 10
if qian**4 + bai**4 + shi**4 + ge**4 == a: #"**"表示幂
print(a)
五、作业2
请同学用代码找出五位自幂数(五角星数):
五角星数是一个五位数,并且它的每个位置的数字的五次方(如a的五次方表示方法:a**5)之和 等于这个五位数本身
本文来自博客园,作者:wfxx,转载请注明原文链接:https://www.cnblogs.com/wufaxiang/articles/zongheyingyong01.html

浙公网安备 33010602011771号