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 @   1640808365  阅读(241)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
主题色彩