2019-07-31

1. 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)

# 例如: 输入'abcd1234 ' 输出'bd24'
print("abcd1234"[1::2])   #bd24

2.输入用户名,判断用户名是否合法(用户名长度6 ~10 位)

name=input("请您输入用户名:")
if 6<=len(name)<=10:
    print("您的用户名合法!")
else:
    print("您的用户名不合法!")
    # 请您输入用户名:djsjaks
    # 您的用户名合法!

3.输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)

# 例如: 'abc'  — 合法'123' — 合法   ‘abc123a’  — 合法
input_name=input("请您输入用户名:")
if input_name.isalnum():
    print("您的用户名合法!")
else:
    print("您的用户名不合法!")
    #请您输入用户名:jdhsk...   您的用户名不合法!
    #请您输入用户名:jhdgs23    您的用户名合法!

4.输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)

# 例如: 'abc'  — 不合法
# '123'  — 不合法
# 'abc123'  — 不合法
# 'Abc123ahs'  — 合法
input_name=input("请您输入用户名:")
if input_name.isalnum() and input_name.istitle():
    print("您的用户名合法!")
else:
    print("您的用户名不合法!")

#请您输入用户名:abc       您的用户名不合法!
#请您输入用户名:Abc234   您的用户名合法!

5. 输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串

例如:输入 'abc1shj23kls99+2kkk'

输出:'123992'

input_str=input("请您输入一个字符串:")
str_num=""
for index in range(len(input_str)):
    if input_str[index].isnumeric():
      str_num+=input_str[index]
print(str_num)
#请您输入一个字符串:678ghj567fgh    -->678567

6.输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出(用upper方法和自己写算法两种方式实现)

# 例如: 输入'a2h2klm12+'
# 输出'A2H2KLM12+'
# 方法一:
str1='a2h2klm12+'
print(str1.upper())
# 方法二:
input_char="abcdefghijklmnopqrstuvwxyz"
output_char="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
translate_chart=str.maketrans(input_char,output_char)
print(str1.translate(translate_chart))
#方法三
str1='a2h2klm12+'
def translate(x):
    if str(x).isalpha():
        x=chr(ord(x)-32)
    else:
        pass
    return x
print("".join(list(map(translate,str1))))
#A2H2KLM12+
#A2H2KLM12+
#A2H2KLM12+

7.输入一个小于1000的数字,产生对应的学号

# 例如: 输入'23',输出'py1901023'
# 输入'9', 输出'py1901009'
# 输入'123',输出'py1901123'
input_name=input("请您输入序号(1~999):")
print("您的学号是:py1901"+input_name.zfill(3))
#请您输入序号(1~999):787
#您的学号是:py1901787

8.输入一个字符串,统计字符串中非数字字母的字符的个数

例如: 输入'anc2+93-sj胡说'输出: 4 输入'==='输出: 3

sum1=0
input_char=input("请您输入一个字符串:")
for i in input_char:
    if i.isalnum():
        pass
    else:
        sum1+=1
print("非数字和字母的字符总数为:",sum1)
#请您输入一个字符串:7uheytfiuy56、。。’。‘
#非数字和字母的字符总数为: 6

9.输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串例如: 输入字符串'abc123', 输出'+bc12+'

input_char=input("请您输入一个字符串:")
lengh=len(input_char)
input_char=input_char[1:-1]
print(input_char.center(lengh,"+"))
# 请您输入一个字符串:fgkl,mnh7890uyt5tr
# +gkl,mnh7890uyt5t+

10.输入字符串,获取字符串的中间字符

# 例如: 输入'abc1234'输出: '1';输入'abc123' 输出'c1'
input_str=input("请您输入一个字符串:")
lengh=len(input_str)
if lengh % 2:
   print("中心元素是:%s" % input_str[lengh // 2])
else:
   print("中心元素是:%s:%s" % (input_str[lengh // 2], input_str[lengh // 2 - 1]))

11. 写程序实现字符串函数find / index的功能(获取字符串1中字符串2第一次出现的位置)

# 例如: 字符串1为:how are you? Im fine, Thank you!, 字符串2为: you, 打印8
str1="how are you? Im fine, Thank you!"
input_char=input("请您输入一个字符:")
for index in range(len(str1)):
    if str1[index]==input_char:
        print("%s第一次出现的位置为:%s"%(input_char,index))
        break
        # 请您输入一个字符:y
        # y第一次出现的位置为:8

12.获取两个字符串中公共的字符

# 例如: 字符串1为:abc123, 字符串2为: huak3, 打印: 公共字符有:a3
str1="abc123"
str2="huak3"
new_set=set(str1)&set(str2)
print("".join(new_set))
# 3a
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入'abcd1234 ' **...
    漫磋嗟阅读 157评论 0 0
  • 作业 1.输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符) 例如: 输入'abcd123...
    林席川阅读 275评论 0 0
  • 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入'abcd1234 ' ...
    容荔阅读 189评论 0 0
  • 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入'abcd1234 ' ...
    浩子_唯一号阅读 147评论 0 1
  • 一开始,我喜欢听你唱歌 后来,喜欢听你说话的声音 接着,想和你聊天 慢慢,习惯了这样的聊天 于是,便开始和你在一起...
    离芜阅读 303评论 0 0