Q11:China+城市
题目:
有一个城市列表city,请你在每个城市名前加上"China",最后遍历该列表并输出结果。
解答:
city = ["北京","上海","广州","深圳","成都","武汉","香港","澳门","台湾"]
for i in range(0,len(city)):
temp = "China"+city[i]
city[i] = temp
print(city[i])
Q12:爱夜曲
题目:
小明上完夜曲的入门课之后想要表达自己对夜曲的喜爱,决定将三个字符串"I ","love ","yequbiancheng"拼接起来,输出结果;然后通过字符串索引和字符串拼接知识将字符串"yequbiancheng"中的y、q、b、c字母改成大写,再次输出拼接结果。
解答:
a = "I "
b = "love "
s = "yequbiancheng"
print(a+b+s)
for i in range(0,len(s)):
if(s[i] == "y"):
new_s = s.replace("y", "Y", 1)
s = new_s
elif(s[i] == "q"):
new_s = s.replace("q", "Q", 1)
s = new_s
elif(s[i] == "b"):
new_s = s.replace("b", "B", 1)
s = new_s
elif(s[i] == "c"):
new_s = s.replace("c", "C", 1)
s = new_s
else:
continue;
print(a+b+s)
扩展:
#python中通过位置索引输出字符串中字符的位置,感觉跟数组下标索引使用方法差不多
s = "hello"
print(s[0]) # 输出:'h'
print(s[1]) # 输出:'e'
print(s[2]) # 输出:'l'
print(s[3]) # 输出:'l'
print(s[4]) # 输出:'o'
#计算字符串的长度,跟数组里面使用的也差不多
s = "hello"
print(len(s)) # 输出:5
#替换字符串中的字符,用replace函数,不能直接赋值替换
s = "hello"
new_s = s.replace("l", "r", 1)
print(new_s) # 输出:"herro"
Q13:模块的阶乘
题目:
茂茂在计算阶乘时想到课程里通过递归实现过,那么有没有更简单的方法呢?math模块中就有一个函数factorial(x)可以直接实现参数x的阶乘计算。
解答:
import math
print(math.factorial(5))
Q14:只要“love”
题目:
小夜想从字符串words中提取"love"四个字母,请你通过字符串切片帮他实现吧。
注意:格式为[起始:结束:步长],从左至右切片,步长为正,反之为负数。
解答:
words = "alcofvhe"
print(words[1:8:2])
扩展:
在Python中,你可以使用切片操作来获取字符串的一部分。
切片操作的基本语法是s[start:end]
,其中start
是切片的开始索引,end
是切片的结束索引。
s = "hello"
print(s[0:2]) # 输出:"he"
print(s[2:4]) # 输出:"ll"
print(s[4:]) # 输出:"o"
注意,切片的结束索引是不包含的,也就是说,s[0:2]
获取的是从索引0到1的字符,但不包括索引2的字符。
你也可以使用负数来表示从字符串的末尾开始的索引。例如,s[-1]
表示获取最后一个字符,s[-2]
表示获取倒数第二个字符。
s = "hello"
print(s[-1]) # 输出:"o"
print(s[-2]) # 输出:"l"
如果你省略了切片的起始索引,那么默认值是0;如果你省略了切片的结束索引,那么默认值是字符串的长度。
s = "hello"
print(s[:2]) # 输出:"he"
print(s[2:]) # 输出:"llo"
Q15:逢“7”说过
题目:
小曲和朋友玩聚会小游戏,规则是逢7说过(出现7和7的倍数,如7、14、17、......),那么他们从1开始说到100,一共说了多少次过呢?
请通过while循环实现,计算过的次数,最后格式化输出:"一共说了xx次过"。
解答:
i = 1
count = 0
while(i<=100):
if(i % 7 == 0 or "7" in str(i)):
count+=1
i+=1
print(f"一共说了{count}次过")