python夜曲编程代码练习11-15

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}次过")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值