python基础知识(一)

1. if判断语句

mony = input("请输入:")
mony = int(mony)
if mony > 500:
    print("我呀回家")
else:
    print("不回家")
#  这个是在输入以后来判断是否大于500    

2. while 循环语句

**打印1-100的数字**
i = 1
while i <= 100:
     print(i)
     i = i + 1

<1>.1+2+3+4+5+6+…+100 = ?

a = 1
b = 0
while a <= 100:
    b = b + a
    a = a + 1
print(b)
输出:5050

<2>.continue跳过一次执行继续执行下面的函数 break直接终止代码执行

n = 1
while n <= 10:
    if n == 4:
        n = n + 1
        continue
    print(n)
    n = n + 1
   # 输出:1 2 3 5 6 7 8 9 10

3. for循环

 for dyr in range(10):
     print(dyr)
   #  输出:0 1 2 3 5 6 7 8 9

range(a,b,c) range(1,10,3) 从1到10间隔为3

for dmoe in range(1, 10, 3):
    print(dmoe)
  #  输出:1 4 7

pass 是代码占位符 防止代码报错

for dmo in range(10):
    pass
    
# 这样程序就不会执行也不会报错

4. str ()字符串 和 list() 列表

name1 = "周文"
name2 = "山西人"
s2 = f"我叫{name1},我是{name2},"  # f-string
# 像这种结构的后期用的很多

<1>字符串索引和切片
案例1

#  切片:从一个字符串中提取一部分内容
s = "我是王文为,你是从哪里来?"
print(s[3:6])  # 这就是切片的写法(从左往右切)但不会包括最后一位 输出:文为, 

案例2

po = 'abcdefghtlmopqrstuvwsyz'
 # print(po[2:10:2]) # 从下标为210但不包括第10个,每两个取出一次,而且显示是最左边的一个
 # 输出的结果是 cegt
print(po[-2:-10:-2])  # 这个是从右向左,每两个取出,而且显示第一个值
 # 输出的结果是 ywus

<2>字符串的替换和切割

strip()切割 (切割开头和末尾的空格)

 # strip()切割 (切割开头和末尾的空格)
jusr = " 看似简单  开始加快速度  "
sm1 = jusr.strip()
print(sm1)
 # 输出的结果是:看似简单  开始加快速度   去掉了两边的空格

replace(old, new) 字符串替换 new新的可以替换旧的old

# replace(old, new) 字符串替换 new新的可以替换旧的old
str = "我是小肖,我还是小哥哥,我还是学生"
print(str.replace("我", "你"))
print(str.replace("我", "你", 2))
 # 输入: 你是小肖,你还是小哥哥,你还是学生
 #       你是小肖,你还是小哥哥,我还是学生

split() 字符串切割

split() 字符串切割
nue = "python_javascript_java_C_C#_node"
as1 = nue.split("_")
print(as1)  # 输出的是:["python","javascript","java"."C","C#","node"]

(4) find() 返回如果是-1就是没有该字符串出现
(5) index() 返回如果没有该字符串就会报错

(6)startswith() 判断字符串是否以xxxx开头

# startswith() 判断字符串是否以xxxx开头
pos = "我是鑫鑫"
if pos.startswith("我"):
    print("这个是有”我“")
else:
    print("这个没有“我”")

(7)isdigit() 判断字符串是否由整数组成

monys = input("请输入你的钱数:")
 if monys.isdigit():
     monys = int(monys)
    print("可以花钱了")
 else:
    print("对不起,您输入的有误。。。")

(8) 补充说明就是还有一个是字符串长度 len()
(9) join() 就是把[“我”,“你”,“他”]这几个字连接起来,结果就是:我你他 跟split()有点儿相似

总结:用的比较多的是 startswith(), isdigit(), in, in not, find

5.列表 [] list()

lists = ["我1", "你2", "他3"]
for item in lists:
    print(item)

print(len(lists))
输出:我123
      3

<1>.列表增删改查

list() 创建一个空列表
append("我") 追加
insert() 插入
extend() 可以合并两个列表,批量添加
a.删除
pop() 给出背删除的索引,返回被删除的元素
remove() 删除某个元素
b.修改
直接用索引就可以修改 直接用索引换掉就好了
lists[2] = '凯'
  print(lists)

实例:把列表中的”张“换成“李”?

lis1 = ["赵敏", "张无忌", "张尚阳", "白眉隐王", "张少阳", "杨文清", "张纪中"]
for i in range(len(lis1)):
    item = lis1[i]
    if item.startswith("张"):
        item = "李" + item[1:]  # item[1:]的意思是取剩下的1后面的几项包括1本身
        lis1[i] = item
print(lis1)
输出:['赵敏', '李无忌', '李尚阳', '白眉隐王', '李少阳', '杨文清', '李纪中']

<2>.列表的其他操作(补充)
<1> 排序 升序:sort() 降序 : sort(reverse=True) reverse:意思为翻转

spoe = [22, 33, 45, 49, 85, 3948]
spoe.sort()
print(spoe)  # 输出:[22, 33, 45, 49, 85, 3948]

4.列表的嵌套
5.列表的循环删除
题目:删除姓张

lous = ["张三", "李四", "王五", "赵六", "刘七", "张钢"]
pode = []  # 准备一个临时列表,负责存储删除的内容
for item in lous:
    if item.startswith("张"):
        pode.append(item)  # 把要删除的内容记录下来
print(pode)        
for item in pode:
    lous.remove(item)  # 去原列表中进行删除匹配的内容
print(lous)
输出:['张三', '张钢']
      ['李四', '王五', '赵六', '刘七']

实例:1.循环猜年龄,最多允许猜三次,猜对了就退出程序

1.先确定一个年龄
aliage = 25
for item in range(3):
    ages = int(input("请输入年龄:"))
    if ages > aliage:
        print("你猜年龄偏大了")
    elif ages < aliage:
        print("你猜年龄偏小了")
    else:
        print("你猜对了,退出程序")

实例:2.在10-20之间的奇数

for i in range(10, 20):
    if i % 2 == 1:
        print(i)

# 输出:11 13 15 17 19

实例:3. ⼀栋楼有5层,每层8间屋⼦,要求你把本楼所有的房间号打印⼀遍, 格式“1层-104”, “2层-205“

for i in range(1, 6):
    for a in range(1, 9):
        print(f"{i}层-{i}0{a}室")

实例:4.需求改了, 遇到第3层时,不打印任何房间号

for i in range(1, 6):
    for a in range(1, 9):
        if i == 3:
            continue  # 停止本次循环
        # print(f"{i}层-{i}0{a}室")
        print('{}层-{}0{}室'.format(i, i, a))

实例: 5.打印三角形

*
**
***
****
*****
****
***
**
*
解题思路,10次循环,前5次打印 i * "*" , 后5次打印 (10-i) * "*"
n = 10
for i in range(1, n):
    if i < 5:
        print(i * "*")
    else:
        print((n - i) * "*")

实例:6.按如下格式打印99乘法表

新增了一种格式化字符串的函数 str.format(),
例如:
>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'
 
>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'
 
>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

按如下格式打印99乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print('{}x{}={}\t'.format(j, i, i * j), end='')
    print()
输出:
1x1=1	
1x2=2	2x2=4	
1x3=3	2x3=6	3x3=9	
1x4=4	2x4=8	3x4=12	4x4=16	
1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	
1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	
1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	
1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	
1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗的小鸟鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值