【习题之Python篇】习题2

将如下代码改用while循环实现: for i in range(1, 100,2): print(i, end="")
i=1while i<101 :print(i,end=" ")i+=2
结果:
2. 给定一个字符串S,编写程序去掉其中所有的空格并输出,例如“I love ”,去掉空格输出“” 。
s="Ilovepython"t="" #用于存放for i in s:if i != " ":t = t+iprint(t)

s="Ilovepython"s=s.replace(" ","")print(s)
【【习题之Python篇】习题2】结果:
小知识:
strip() //是去掉字符串左右两边的字符串
() //是去掉字符串左边的字符串
() //是去掉字符串右边的字符串
(要被替换的字符,替换后的目标字符)
3. 编写程序输出所有使用1、2、3、4四个数字组成的三位数 。输出结果如下:
for hun in range(1, 5):for ten in range(1, 5):for one in range(1, 5):print("{}{}{}".format(hun, ten,one),end=" ")
结果:
4. 请为老师设计一个输入成绩的程序,如果输入-1表示成绩输入结束,在输入成绩结束后显示班上总成绩及平均成绩 。运行效果如下截图所示:
i = 0 #定义循环变量grage = eval(input("请输入{}同学成绩:".format(i))) #控制循环的变量t=0 #总成绩while grage!=-1:t+=gragei += 1grage = eval(input("请输入{}同学成绩:".format(i)))print("总成绩:{},平均成绩:{}".format(t, t/i))
结果:
5.输入一个字符串,检查字符串中是否包含由两个或两个以上连续出现 的相同字符组成的字符子串 。例如: 输入:输出:包含的重复子串有:cc,cc,ddd,aa,
s = "abcceccdddaab"result=''start = 0end = 0for i in range(1, len(s)):if s[i] != s[i-1]:if end > start:result += s[start:end+1]result += ','start = iend = ielse:end = iif i==len(s)-1 and end > start:#解决最后一个字符串有相同元素的情况result += s[start:end+1]print("原始字符串是%s,其中包含的重复子串有:%s"%(s,result))
提示:运用切片和索引相结合
结果:
6. 火星数字破译 。人类终于登上了火星,并且见到了神秘的火星人,但是人类和火星人都无法理解对方的语言,就连简单的数字都无法相通 。科学家们发现火星人只有八根手指,他们表示数就靠数八根手指完成 。例如要表示9,就用11来表示,20就用24来表示 。请编写程序,破译任意火星正整数,使其变成地球中常见的十进制数 。输入:一个火星数字 输出:破译后的十进制数
num=eval("0o"+input("请输入火星数字:"))print("破以后为:",num)
结果:
7. 写程序,输出3位数的整数中能被3整除,且至少有一位是5的所有数 。
for i in range(100, 1001):if i%3==0 and "5" in str(i):print(i,end=" ")
结果:
8.小明对小鹏说:“当我的岁数是你现在的岁数时,你才10岁 。”小鹏对小明说:“当我的岁数是你现在的岁数时,你就40岁了 。”请编写程序计算并输出小明和小鹏现在的年龄 。
#p小明的年龄 大的年龄#m小鹏的年龄 小的年龄#m-p 年龄差,m+(m-p)=40 p-(m-p)=10for m in range(1,41):for p in range(1,41):if (p-(m-p)==10) and (m+(m-p)==40):print("小明现在{}岁,小鹏现在{}岁".format(p,m))
结果: