7-8字符串

字符串基本运算

  1. len()函数查看长度
first_name='sfdhs'
len(a)
  1. 转义符输出“”等易误读符号
  2. 拼接+
name=first_name+'Jordan'
  1. 重复*
name*3
3*name
  1. for语句
    枚举字符串的每个字符
name='hello world'
for c in name
	print(c)
  1. 函数
def count(name):
   n=0
   for c in name:
       if c in 'aeiouAEIOU' :
           n+=1
   return n
name ="Michale Jorden"
print(count(name))
  1. 字符串索引[]
    下标从零开始
    下标越界显示错误
    索引值以 0 为开始值,-1 为从末尾的开始位置。
    在这里插入图片描述
name[1]
  1. 成员运算符in
    判断一个字符串是否是另一个字符串的子串
    返回True或者False
  2. 切片
    在这里插入图片描述
a='dfnsa'
print(a[:])
'dfnsa'
  1. 计数参数
    在这里插入图片描述
  2. 替换replace
    在这里插入图片描述
    12.其他方法
    在这里插入图片描述split切割后放在列表中
    不加参数按照空格切
    加参数按照参数左右来切(所有同类型参数)
    原字符串不改变
a='namenane ne fdsa'
print(a.split('n'))
['', 'ame', 'a', 'e ', 'e fdsa']
print(a)
'namenane ne fdsa'

文件操作

在这里插入图片描述

f=open("name.txt","r")
读取的时候将每行回车一并读入
for line in f:
    name=line.strip().title().lower()
    函数联着一排写
    去掉多余回车
    print(name.title ())

	或者
	
	name=line.strip().lower().title()
    print(name)
		
	lower:所有字母小写
	title:首字母大写
f.close()

字符串比较

直接用<>来比较
为真返回True,为假返回False

字符串的输出

格式输出:format/f-string
f-string进行相应的替换

>>> w = {'name': 'Runoob', 'url': 'www.runoob.com'}
>>> f'{w["name"]}: {w["url"]}'
'Runoob: www.runoob.com'

正则表达式

引入模块 import re
在这里插入图片描述
在这里插入图片描述

1编写程序,完成下列题目:(2分)

题目内容:

“Pig Latin”是一个英语儿童文字改写游戏,整个游戏遵从下述规则:

(1). 元音字母是‘a’、‘e’、‘i’、‘o’、‘u’。字母‘y’在不是第一个字母的情况下,也被视作元音字母。其他字母均为辅音字母。例如,单词“yearly”有三个元音字母(分别为‘e’、‘a’和最后一个‘y’)和三个辅音字母(第一个‘y’、‘r’和‘l’)。

(2). 如果英文单词以元音字母开始,则在单词末尾加入“hay”后得到“Pig Latin”对应单词。例如,“ask”变为“askhay”,“use”变为“usehay”。

(3). 如果英文单词以‘q’字母开始,并且后面有个字母‘u’,将“qu”移动到单词末尾加入“ay”后得到“Pig Latin”对应单词。例如,“quiet”变为“ietquay”,“quay”变为“ayquay”。

(4). 如果英文单词以辅音字母开始,所有连续的辅音字母一起移动到单词末尾加入“ay”后得到“Pig Latin”对应单词。例如,“tomato”变为“omatotay”, “school” 变为“oolschay”,“you” 变为“ouyay”,“my” 变为“ymay ”,“ssssh” 变为“sssshay”。

(5). 如果英文单词中有大写字母,必须所有字母均转换为小写。

输入格式:

一系列单词,单词之间使用空格分隔。

输出格式:

按照以上规则转化每个单词,单词之间使用空格分隔。

输入样例:

Welcome to the Python world Are you ready

输出样例:

elcomeway otay ethay ythonpay orldway arehay ouyay eadyray

def trans(word):
    if word[0] in 'aeiou':return word+'hay'
    elif len(word)>=2 and word[0]=='q' and word[1]=='u':
        return word[2:]+'quay'
    else:
        x=0
        for i in range(1,len(word)):
            if word[i] in 'aeiouy':
                x=i
                break
        return word[x:]+word[:x]+'ay'


sen=input()
sen=sen.lower()
sen=sen.split()
c=" "
for word in sen:
     c=c+' '+(trans(word))
print(c.strip())

2

不定输入

题目内容:

依次判断一系列给定的字符串是否为合法的 Python 标识符。

输入格式:

一系列字符串,每个字符串占一行。

输出格式:

判断每行字符串是否为合法的 Python 标示符,如果合法则输出 True,否则输出 False。

输入样例:

abc

_def

21gh

输出样例:

True

True

False

def judge(word):
    for i in range(0,len(word)):
        if not (word[i] in '123465789qwertyuioplkjhgfdsazxcvbnm_'):
            return False
    if word[0] in '123456789': return False
    return True
word=' '

import sys
while True:
    word=sys.stdin.readline().strip()
    if word=='':
        break
    print(judge(word))

3

题目内容:

依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和。例如,Colin 的字母值为 3 + 15 + 12 + 9 + 14 = 53

输入格式:

一系列字符串,每个字符串占一行。

输出格式:

计算并输出每行字符串的字母值。

输入样例:

Colin

ABC

输出样例:

53

6

import sys
while True:
    word=sys.stdin.readline().strip().lower()
    if word=='':
        break
    sum=0
    for i in range(0,len(word)):
        if word[i].isalpha():
            sum+=ord(word[i])-96
    print(sum)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值