Loading

for while 的基本使用 整型数据类型 可变类型与不可变类型 字符串数据类型及常用方法

# 模拟用户登录 有三次机会 超过了 提示用户是否继续
from_db_username = 'yang'
from_db_password = 121
n = 0
while True:
    if n == 3:
        cmd = input('是否继续输入Y/N:')
        if cmd == 'Y':
            n = 0
        else:
            print('欢迎下次光临')
            break
    username = input('请输入用户名:')
    password = input('请输入密码:')
    if username == from_db_username and password == from_db_password:
        print('登陆成功!')
        break
    else:
        n += 1

打印金字塔

   max_level = 5

    * current_level = 1 空格数4个 信号1个
   *** current_level = 2 空格数3个 信号3个
  ***** current_level = 3 空格数2个 信号5个
 ******* current_level = 4 空格数1个 信号7个
********* current_level = 5 空格数0个 信号9个

 max_level = 10
 for current_level in range(1,max_level+1):
     # 打印空格
     for i in range(max_level-current_level):
         print(' ',end='')
     # 打印信号
     for j in range(2*current_level-1):
         print('*',end='')
     print()

整型(int)

age = 18  # age = int(18)
# int('dsjfjdsf')
# int('1.1')  # int只能转纯数字的字符串,小数点都不行
4、# 进制转换
# 其他进制转10进制
# 二进制转十进制  0,1
# 10  # 1*(2**1) + 0*(2**0)  2
# 八进制转十进制  0-7
# 235 # 2*(8**2) + 3*(8**1) + 5*(8**0)
# 十六进制转十进制 0-9 A-F
# 217 # 2*(16**2) + 1*(16**1) + 7*(16**0)
# print(int('1100',2))  # int可以传第一个参数,表示的是第一个参数到底是什么进制  然后转成十进制
# print(int('14',8))
# print(int('c',16))
# 10进制转其他进制
# 10进制转二进制
# print(bin(12))  # 0b1100  0b表示后面的数字是二进制数
# 10进制转八进制
# print(oct(12))  # 0o14  0o表示后面的数字是八进制数  14 >>> 1*(8**1) + 4*(8**0))
# 10进制转16进制
# print(hex(12))  # 0xc  0x表示后面的数字是十六进制数

常用操作+内置的方法

#======================================该类型总结====================================
#存一个值
#有序or无序
# 有序:有索引的数据都是有序的
#不可变

# 可变类型与不可变类型
"""
可变类型:值改变的情况下,id不变,说明你改的是原值
不可变类型:值改变的情况下,id一定变

x = 10
print(id(x))
x = 11
print(id(x))

运行结果:

  1381265152
  1381265184

  说明int型为不可变型

字符串:

s = 'hello baby'  # str('hello baby')#代表的省略的代码
s1 = str([1,2,3,4])
print(type(s1))   #说明列表可以转化为字符串
s2 = str({'name':'jason','password':123})
print(type(s2))  #说明字典也可以转化为字符串

运行结果:

  <class 'str'>
  <class 'str'>

切片(顾头不顾尾,步长):

  从一个大的字符串中截取一段新的小字符串

# 左边的固定就是头,右边固定就是位 没有说按数字来分头尾
# print(s[0:5]) # hello
# print(s[0:10:1]) # hello 步长不写默认是1
# print(s[0:10:2]) # 步长表示隔几个取一个
# 了解负数取值
print(s[-1])
print(s[0:5:-2]) # 切片取值默认是从左往右的
print(s[5:0:-1]) # 切片取值默认是从左往右的
print(s[-1:-10:-1])

Strip:

去掉字符串左右两边的字符strip,不管中间的

# name3 = '$$$$$eg$on$$$$'
# print(name3.strip('$'))

运行结果:

    eg$on

切分split:

  针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值。

str1 = 'yang*yong*jun'
print(str1.split('*'))

运行结果:

  ['yang', 'yong', 'jun']

startswith和endswith

# 判断字符串是否以什么什么开头

# 判断字符串是否以什么什么结尾

str2 = 'yang'
print(str2.startswith('y'))
print(str2.endswith('g'))
 
posted @ 2019-07-03 21:29  1640808365  阅读(238)  评论(0编辑  收藏  举报