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'))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)