继续学习中,

补充一些str 的索引、切片、长度、循环输出等。

#!/usr/bin/env python
# coding:utf-8 # 通过下标索引获取字符串中的某个字符 # 1. 索引
test = "alexerdor"
a = test[0]
print(a) # 2. 切片
b = test[0:2] # 小于2, 不包括2
print(b)
c = test[0:-1] # 负1的意思是到最后减1
print(c) # 3. 长度
test2 = "中国人"
d = len(test2) # python3中返回3, 2.7中则返回9 (因为utf8的字节长度是3 )
print(d) # 4. 循环输出
txt = "大数据分析挖掘与开发技术"
#
# n = 0
# while n < len(txt):
# v = txt[n]
# print(v)
# n += 1 # For循环 for t in txt: # 简单的方法,轻松地得到和上面循环输出方法一样的结果。
print(t) ######################## 记住以上4 种,以及前面必须的 6 种普通方法。 # for dict bdict = {}
bdict['aaa'] = 1
bdict['bbb'] = 2
bdict['ccc'] = 3
bdict['ddd'] = 4
bdict['eee'] = 5 # 字典只能输出下标, 并且不是按顺序输出: 针对key的hash取模
for v in bdict:
print (v) # 改动后
for k, v in bdict.items():
# print(k + " ===> " + str(v))
print("{}===>{}".format(k,v)) #使用format方法输出。

以及str 的range / replace

#!/usr/bin/env python
# coding:utf-8 # 1. replace
name ="tom & jerry jessies"
s = name.replace("j","T",1) # 第3个参数是指定替换几个。不指定则全部替换
print(s) # 2. range 帮助创建连续数字,通过步长来指定不连续
test = range(0,100,9) # 第3个参数是步长
for e in test:
print(e) ## 练习: 将文本对应的索引打印出来。
str_name = "分布式文件系统HDFS"
le = len(str_name)
rg = range(0,le)
for a in rg:
print(a, str_name[a]) # 老师的讲解 简写
txt = input(">>>")
for item in range(0,len(txt)):
print(item, txt[item])

原生字符串 ,即在引号前面加 r 以及数字的e记法。

#!/usr/bin/env python
# coding:utf-8 # strings = 'C:\radio\fm'
# print(strings) # row string 字符串前面加了r 后,结尾不能有反斜杠\
strings_r = r'C:\radio\fm'
print(strings_r) str2 = r'''C:\windows\nimda'''
print(str2) # 数字的 e 记法
a = 15e3
print(type(a),a) b = 5.99
b2 = int(b)
print(b2) # 判断数据类型是否正确.前提是你知道类型的情况下使用,如果不知道类型的现个变量的判断,则使用type(a) == type(b)
print(isinstance(b, float))

下面是完成老师布置的作业, 老师还未讲解。

#!/usr/bin/env python
# coding:utf-8 # 1. 执行python脚本的2种方式。 # 2. 简述位、字节的关系。 # 3. 简述ascii unicode utf-8 gbk的关系 # 4. 请写出“李白”分别用utf-8和gbk编码所占的位数。 # 5. python的单行注释和多行注释分别用什么。 # 6. 声明变量注意事项有哪些? # 7. 如有以下变量 n = 5 ,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示? n = 5
i = n.bit_length()
print("最少{}位".format(i)) # 8. 布尔值分别有什么? # 9. 阅读代码,写出执行结果
a = "alex"
b =a.capitalize()
print(a)
print(b)
# 请出执行结果: alex Alex # 10. 写代码,有如下变量,按照要求实现每个功能
name = " aleX"
## a. 移除name变量两边的空格,并输出
print(name.strip()) ## b. 判断name变量对应的值是否以"al"开头,并输出结果
print(name.startswith("al")) ## c. 判断是否以"X"结尾并输出
print(name.endswith("X")) ## d. 将变量中"l"替换成"p"
print(name.replace("l","p")) ## e. 将变量以"l"分割并输出
print(name.split("l")) ## f. 请问上一题 e 分割之后得到值是什么类型?
## 应该是 list 类型 ## g. 将变量的值变大写, 变小写
print(name.upper())
print(name.lower()) ## i. 输出变量值的第2个字符
print(name[1]) ## j. 输出变量值的前3个字符
print(name[0:3]) ## k. 输出变量值的后2个字符
print(name[len(name)-2:len(name)]) ## l. 输出变量值 e 所在位置
print(name.find("e")) ## m. 获取子序列,不包含最后一个字符
print(name[0:-1]) # 21. 字符串是否可以迭代对象,如可以请使用 for 循环每一个元素
test = "大数据分析主要的工具都是Apache公司开发的"
tmp = str.maketrans("的","d") #参数的长度应该相等
test2 = test.translate(tmp)
for f in test2:
print(f)
# 22. 用代码将下面2个变量的元素拼接成字符串
abc = "alexericrain"
lis = ['alex','eric','rain'] # print(abc+lis[0]+lis[1]+lis[2])
for a in lis:
abc += a
print(abc) # s1 = "_".join(abc)
# print(s1)
# print("_".join(lis))
# 23. python2中和python3中的range的区别 
# 24. 实现一个整数加法计算器,如: 5+9 或 5+ 9 或 5 + 9
num = input("请输入加法表达式:")
s2 = num.split("+")
res = 0 for i in s2:
  if i.strip().isdigit():
    res += int(i)
  else:
    print("请输入正确的数字")
    break print("您的和是:",res) # 25. 用户输入的内容中有几个数字几个字母?
cont = input("请输入内容:")
n1 = 0
n2 = 0 for t in cont:
  if t.isalpha():
    n1 += 1
  if t.isdigit():
    n2 += 1 print("字母{}个,数字{}个".format(n1,n2)) # 26. 简述int 和 9 等数字 以及 str 和 "xxoo"等字符串的关系? # 27. 制作趣味组合,等待用户输入名字、地点、爱好, 根据这些任意实现 # 28. 制作随机验证码,不区分大小写. # 流程:用户执行程序 >> 给用户显示需要输入验证码 >> 用户输入的值 相同时显示正确,否则继续生成随机验证码等待输入。
def check_code():
  import random
  checkcode = ''
  for i in range(4):
    current = random.randrange(0,4)
    if current != i:
      temp = chr(random.randint(65,90))
    else:
      temp = random.randint(0,9)
    checkcode += str(temp)
  return checkcode while True:
  code = check_code()
  print(code)
  tmp = input("请输入验证码:")
  if tmp.lower() == code.lower():
    print("right.") break

切片的一些补充:

a = 'abcdjklmn'
print(a[:4]) # 前4个
print(a[-2]) # 倒数第2个
print(a[-2:]) # 取最后2个 print(a[4:]) # 下标4到最后
print(a[:]) # 全部
print(a[:5:2]) # 从头到5,步长2 print(a[4:0:-1]) # 反向取,从下标4到0
print(a[4::-1]) # 反向取,从下标4到开头
print(a[-1::-1]) # 反转
print(a[::-1]) # 反转
#2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def chk(a):
return a[1::2] print(chk((22,33,11,55,44,66,)))

最新文章

  1. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理
  2. 【Python】个人所得税
  3. Team Foundation Server 15 功能初探
  4. 微信 关闭手机微信内置浏览器的js
  5. 1.Getting Started with ASP.NET MVC 5
  6. HW5.14
  7. Android程序捕获未处理异常,处理与第三方方法冲突时的异常传递
  8. APP被苹果APPStore拒绝的各种原因
  9. MySQL Sniffer
  10. spring bean的创建过程
  11. akamai:与看视频广告等待相比,用户更不能忍受缓冲等待
  12. HBase Region级别二级索引
  13. 7. Selenium的基本使用
  14. Android--Service之提高
  15. 【XSY1537】五颜六色的幻想乡 数学 生成树计数 拉格朗日插值
  16. DSP2812&#160; 启动详解
  17. Visual Studio资源汇总
  18. 代码之髓读后感——语法&amp;流程&amp;函数&amp;错误处理
  19. JavaScript实现HTML页面集成QQ空间分享功能
  20. 【Spring】12、Spring Security 四种使用方式

热门文章

  1. ASP.NET Core免费(视频)教程汇总
  2. WIFI CAT ET III Adapter Caterpillar ET3 New Arrival
  3. nginx 反向代理和正向代理功能 第六章
  4. ORA-55617解决方法
  5. JS(JavaScript)的初了解4(更新中&#183;&#183;&#183;)
  6. Java 基础 类加载器和双亲委派机制 学习笔记
  7. sublime设置html在浏览器打开
  8. [HTML] HTML Lists
  9. Starting MySQL....The server quit without updating PID file[失败]/lib/mysql/ip12189.pid). 错误一例
  10. django学习之——Model