Python编程练习:菜鸟教程Python3实例刷题精华浓缩

菜鸟教程Python3实例刷题

  • 在刷题中挑选出很实用的一些代码汇总一下

1

# 打印方式
a=1
b=2
# 1. {} + .format()
print("啦啦啦{0}哈哈哈{1}".format(a,b))
# 2. "%d"%()  两个百分号
print("啦啦啦%d哈哈哈%d"%(a,b))

# 小数点后面保留5位小数
import math
pi = math.pi
print(pi)
print("%.5f"%pi)
print("{0:.5f}".format(pi))


# 输出结果时: 数字 和 字符串 之间可以用 , 连接
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print(num1, "和", num2, "的和为", sum(num1, num2))

# 输出的时候,想要控制对齐
for temp in range(1,31):
    print('{:2d}号下船了'.format(temp))


# 输出列表的第几个到第几个
arr1 = [1,2,3,4,5,6,7]
n = len(arr1)
d = int(input("翻转前几个元素? [1~6]\n"))
arr2 = arr1*2
print(arr2[d:d+n])

2

# input获取用户输入,得到一个string类型
# 通过 contain 来判断 这个string里是否包含特定字符串

str = input("随便输入: ")
if str.__contains__("-"):
    print("输入的str包含了-")
if str.__contains__('.'):
    print("输入的str包含了.")
# 双引号和单引号在这里没区别
# 除了contains之外,还有很多常用的string函数,比如join等


# replace 替换
str2 = "Runoob"
place = int(input("输入位置: "))
new_str2 = str2.replace(str2[place], "x", 2)
print(new_str2)

3

# 不同于java中的try-catch
# python中是 try except
def fun():
    try:
        num = float(input("please input a number: "))
        if num > 0:
            print("positive")
        elif num < 0:
            print("negtive")
        else:
            print("zero")
    except ValueError:
        print("invalid input ! please input again!")
        fun()

fun()

def fun2():
    try:
        num = float( input('输入一个数字: ') )
        if num % 2 == 0:
            print('是偶数 even')
        else:
            print('是奇数 odd')
    except:
        print("输入的不是数字, 请重新输入")

fun2()

4

# 1.闰年判断方法
# 2.在python里面,位运算 与& 或| 非~ 异或^
# 3.区分好Python中的  位运算 和 逻辑运算
#   if (year%400==0) or (year%4==0 and not(year%100==0)): 这么写是对的
#   if (year%400==0) | (year%4==0 & ~(year%100==0)):      这么写是不对的!!!

def isRN():
    try:
        year = int ( input('输入一个年份: ') )
        if (year%400==0) or (year%4==0 and not(year%100==0)):
            print("{0}是闰年".format(year))
        else:
            print("{0}不是闰年".format(year))
    except:
        print('请重新输入一个 正整数 年份! ')
        isRN()
isRN()

5

# 文件I/O

with open("test.txt","wt") as out_file:
    out_file.write("在当前目录下创建一个文本并写入信息~\n啦啦啦")

with open("test.txt","rt") as in_file:
    text = in_file.read()

print(text)

6

# 求昨天的日期
# 引入 datetime 模块
import datetime

def getYesterday():
    today = datetime.date.today()
    print("测试today: ",end='\t');print(today,end='\t');print(type(today))
    oneday = datetime.timedelta(days=1)
    print("测试oneday: ",end='\t');print(oneday,end='\t');print(type(oneday))
    yesterday = today - oneday
    print("真正yesterday: ",end='\t')
    return yesterday

# 输出
print(getYesterday())


import time

print('按下回车开始计时,按下 Ctrl + C 停止计时。')
while True:

    input("")  # 如果是 python 2.x 版本请使用 raw_input()
    starttime = time.time()
    print('开始')
    try:
        while True:
            print('计时: ', round(time.time() - starttime, 0), '秒', end="\r")
            time.sleep(1)
    except KeyboardInterrupt:
        print('结束')
        endtime = time.time()
        print('总共的时间为:', round(endtime - starttime, 2), 'secs')
        break


7

# list 常用操作
# https://www.runoob.com/python3/python3-list-operator.html

li = ["a", "b", "mpilgrim", "z", "example"]

# 增加元素
li.append("new")    # 1、增加单个元素
print(li)
li.insert(2, "new") # 2、插入指定位置,下标从0开始
print(li)
li.extend(["two", "elements"]) # 3、增加多个元素
print(li)

# 获取元素下标
print(li.index("new"))
print(li.index("a"))

# 删除
li.remove("new")    # 删除首次出现的一个值
print(li)
li.pop()      # pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。
print(li)

# 还有很多进阶的函数,看网址,总结的非常好

8

# 构造一个列表的时候可以这么构造
people = list(range(1,31))
# 判断while条件的时候,不光可以True or False
while len(people)>15:
    i=1
    while i<9:
        people.append(people.pop(0))
        i+=1
    # 输出的时候,想要控制对齐
    print('{:2d}号下船了'.format(people.pop(0)))

9

# 滑动窗口的思想
arr1 = [1,2,3,4,5,6,7]
n = len(arr1)
d = int(input("翻转前几个元素? [1~6]\n"))
arr2 = arr1*2
for i in range(0,n):
    print(arr2[d+i],end=' ')
print('\n')
print(arr2[d:d+n])

10

# 提取string字符串中的网页url
# 用到了正则表达式
import re

def Find(string):
    # findall() 查找匹配正则表达式的字符串
    url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
    return url

string = 'Runoob 的网页地址为:https://www.runoob.com,Google 的网页地址为:https://www.google.com'
print("Urls: ", Find(string))

11

# https://www.runoob.com/python3/python-sort-dictionaries-by-key-or-value.html
def dictionary():
    key_value={}

    key_value[2] = 15
    key_value[1] = 2
    key_value[5] = 12
    key_value[4] = 24
    key_value[6] = 18
    key_value[3] = 323

    print("按key排序: ")

    # sorted函数,可以给各种各样的数据类型进行排序,你只需要把东西丢进去就行了
    for i in sorted(key_value):
        print(i,key_value[i])

# sorted()函数,可以排序各种各样的东西

dictionary()


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值