牛客python题库解题笔记——5小时学python(4)

一、字符串

1、字符串转换
显示:“Happy nth birthday to name!”,其中n为输入的年龄,name为输入的员工姓名。

输出类似"Happy nth birthday to name!"的语句。

name = input()
n = int(input())
print('Happy %dth birthday to %s!'%(n,name))

2、字符串的索引与切片
以字符串的形式输入圆周率,输出该圆周率的第n位是什么字符(从0开始计算)。输出该字符串圆周率保留n位小数后的结果。

第一行输出第n位字符。
第二行输出保留n位小数后的结果。

p = input()
n = int(input())
print(p[n])
print(p[:n+2])

3、字符串函数

句子前后出现很多空格,需要把它们删除掉,但是句子中单词与单词之间的空格间隔不能被删除。

输出该句子去掉前后多余空格后的结果。

s = input()
print(s.strip(' ')) #'空格'单引号中间有一个空格

4、字符串函数(2)

句子中所有的空格都变成了#,需要把#改为空格,输出单词之间带空格的句子。

print(input().replace('#',' '))

二、字典

1、记录

在线统计内部用户最喜欢的语言,Niu是Java,Mei是Python,kele是CPP,Neng是Python,Tony是Java,Anna和Allen是CPP。
创建一个以语言为key的字典,根据输入的语言,找出哪些人喜欢该语言,如果没有人喜欢这门语言则输出Nobody。

dict = {'Java':['Niu','Tony'],'Python':['Mei','Neng'],'CPP':['kele','Anna','Allen']}
language = input()
if language  not in dict:
    print('Nobody')
else:
    print(dict[language])

2、统计
现有一个字典{‘word’: 2, ‘while’: 15, ‘for’: 20, ‘if’: 26, ‘else’: 14, ‘print’: 9}记录了某些单词在某份代码中出现的次数。现在我们新打开一份代码,遇到一个单词,将这这个单词更新到字典中。单词可能是字典中出现过的,也可能是字典中未出现过的。输出更新后的字典。

dict = {'word': 2, 'while': 15, 'for': 20, 'if': 26, 'else': 14, 'print': 9}
word2 = input()
if word2 in dict:
    dict[word2] += 1
else:
    dict[word2] = 1
print(dict)

3、字典函数
某乐透彩票的规则是每期固定数字都有自己的中奖概率,但是如果是多个数字的中奖概率就是单独每个数字中奖概率之积,购买彩票必须选取3个数字。将各个数字与其中奖概率组合成字典,再根据购买的彩票数字计算中奖概率。

第一行输入可购买的数字,整数之间以空格间隔。
第二行输入每个数字中奖对应的概率,浮点数之间以空格间隔。
第三行输入连续三个整数代表牛牛购买的数字,整数之间以空格间隔。

输出以小数的形式,结果保留三位小数。

nums = list(input().split())
prob = list(map(float, input().split()))
d = dict(zip(nums, prob))
a, b, c = input().split()
print("%.3f" % (d[a] * d[b] * d[c])) # "%.3f" % 字符串格式化输出保留三位小数

下一篇:面向对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Turbo正则

如果对您有用请我喝杯咖啡吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值