例29:求出所有满足下列条件的两位数,将此两位数的个位数字与十位数字进行交换,可以得到一个新的两位数,要求新数与原数之和小于100,每行输出6个满足条件的数。
求解分析:
程序求解不难,设十位数为x,个位数为y,两位数a=10*x+y
新数+原数=11*(x+y),x,y都不能为0,所以它们的取值范围从1开始到9结束。
难点在于,如何做到每行输出6个数,这里我设置了一个计数,用count%6==0判断是否到了6个,到了的话就换行-print(“\n”)
代码如下:
测试结果:
每行n个输出,好像用string.split()和list的切片也可以实现,有兴趣的鞋童可以尝试一下。
…………………………………………
例30:给定一个字符串a和一个字符串b,求b在a中出现的次数。a和b中的字符均为英语大写字母或小写字母。a中不同位置出现的b可重叠。
输入格式:输入共2行,分别是字符串aaa和字符串bbb
输出格式:输出一个整数,表示bbb在aaa中出现的次数。
输入输出样例:
输入:
zyzyzyz
zy
输出:
3
python很强大,直接上代码了:
测试结果:
python真的强大,string.count(str)一行代码就解决了。
以前觉得list强,接触多了字符串,发现python的字符串真的很好玩,功能齐全。在浙教版的初中新教材中,涉及到很多字符串的知识点,有道理咯。
…………………………………………
例31:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
我感觉应该是题目有问题吧,+1?,等式还怎么会成立?
我按照没有+1来做的。
求解分析:
设??两位数为x,x的取值范围为(10,99)
8*x<100 9*x>100这两个条件要同时满足
代码如下:
测试结果: