返回顶部
首页 > 资讯 > 后端开发 > Python >Python有哪些练习题
  • 567
分享到

Python有哪些练习题

2023-06-28 23:06:29 567人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python有哪些练习题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python有哪些练习题文章都会有所收获,下面我们一起来看看吧。实例051:按位与题目:学习使用按位与 & 。程序

这篇文章主要介绍了python有哪些练习题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python有哪些练习题文章都会有所收获,下面我们一起来看看吧。

实例051:按位与

题目:学习使用按位与 & 。

程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1

a=0o77print(a)b=a&3print(b)b=b&7print(b)

实例052:按位或

题目:学习使用按位或 | 。

程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1

a=0o77print(a|3)print(a|3|7)

实例053:按位异或

题目:学习使用按位异或 ^

程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0

a=0o77print(a^3)print(a^3^7)

实例054:位取反、位移动

题目:取一个整数a从右端开始的4〜7位。

程序分析:可以这样考虑: (1)先使a右移4位。 (2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4) (3)将上面二者进行&运算。

a=int(input('输入一个数字: '))b=0                 #     0b=~b                #     1b=b<<4              # 10000b=~b                #  1111c=a>>4d=c&bprint('a:',bin(a))print('b:',bin(b))print('c:',bin(c))print('d:',bin(d))

实例055:按位取反

题目:学习使用按位取反~。

程序分析:~0=1; ~1=0;

print(~234)print(~~234)

实例056:画圈

题目:画图,学用circle画圆形。   

from tkinter import *canvas=Canvas(width=800,height=600,bg='yellow')canvas.pack(expand=YES,fill=BOTH)k=1j=1for i in range(26):    canvas.create_oval(310-k,250-k,310+k,250+k,width=1)    k+=j    j+=0.3mainloop()

实例057:画线

题目:画图,学用line画直线。

if __name__ == '__main__':    from tkinter import *    canvas = Canvas(width=300, height=300, bg='green')       canvas.pack(expand=YES, fill=BOTH)                      x0 = 263    y0 = 263    y1 = 275    x1 = 275    for i in range(19):        canvas.create_line(x0,y0,x0,y1, width=1, fill='red')        x0 = x0 - 5        y0 = y0 - 5        x1 = x1 + 5        y1 = y1 + 5    x0 = 263    y1 = 275    y0 = 263    for i in range(21):        canvas.create_line(x0,y0,x0,y1,fill = 'red')        x0 += 5        y0 += 5        y1 += 5    mainloop()

实例058:画矩形

题目:画图,学用rectangle画方形。   

if __name__ == '__main__':    from tkinter import *    root = Tk()    root.title('Canvas')    canvas = Canvas(root,width = 400,height = 400,bg = 'yellow')    x0 = 263    y0 = 263    y1 = 275    x1 = 275    for i in range(19):        canvas.create_rectangle(x0,y0,x1,y1)        x0 -= 5        y0 -= 5        x1 += 5        y1 += 5    canvas.pack()    root.mainloop()

实例059:画图(丑)

题目:画图,综合例子。  

if __name__  == '__main__':    from tkinter import *    canvas = Canvas(width = 300,height = 300,bg = 'green')    canvas.pack(expand = YES,fill = BOTH)    x0 = 150    y0 = 100    canvas.create_oval(x0 - 10,y0 - 10,x0 + 10,y0 + 10)    canvas.create_oval(x0 - 20,y0 - 20,x0 + 20,y0 + 20)    canvas.create_oval(x0 - 50,y0 - 50,x0 + 50,y0 + 50)    import math    B = 0.809    for i in range(16):        a = 2 * math.pi / 16 * i        x = math.ceil(x0 + 48 * math.cos(a))        y = math.ceil(y0 + 48 * math.sin(a) * B)        canvas.create_line(x0,y0,x,y,fill = 'red')    canvas.create_oval(x0 - 60,y0 - 60,x0 + 60,y0 + 60)    for k in range(501):        for i in range(17):            a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k            x = math.ceil(x0 + 48 * math.cos(a))            y = math.ceil(y0 + 48 + math.sin(a) * B)            canvas.create_line(x0,y0,x,y,fill = 'red')        for j in range(51):            a = (2 * math.pi / 16) * i + (2* math.pi / 180) * k - 1            x = math.ceil(x0 + 48 * math.cos(a))            y = math.ceil(y0 + 48 * math.sin(a) * B)            canvas.create_line(x0,y0,x,y,fill = 'red')    mainloop()

实例060:字符串长度

题目:计算字符串长度。  

s='zhangguang101'print(len(s))

例061:杨辉三角

题目:打印出杨辉三角形前十行。  

def generate(numRows):    r = [[1]]    for i in range(1,numRows):        r.append(list(map(lambda x,y:x+y, [0]+r[-1],r[-1]+[0])))    return r[:numRows]a=generate(10)for i in a:    print(i)

实例062:查找字符串

题目:查找字符串。  

s1='aabbxuebixuebi's2='ab's3='xue'print(s1.find(s2))print(s1.find(s3))

实例063:画椭圆

题目:画椭圆。 

程序分析:使用 tkinter

if __name__ == '__main__':    from tkinter import *    x = 360    y = 160    top = y - 30    bottom = y - 30    canvas = Canvas(width = 400,height = 600,bg = 'white')    for i in range(20):        canvas.create_oval(250 - top,250 - bottom,250 + top,250 + bottom)        top -= 5        bottom += 5    canvas.pack()    mainloop()

实例64:画椭圆、矩形

题目:利用ellipse rectangle 画图。。 

if __name__ == '__main__':    from tkinter import *    canvas = Canvas(width = 400,height = 600,bg = 'white')    left = 20    right = 50    top = 50    num = 15    for i in range(num):        canvas.create_oval(250 - right,250 - left,250 + right,250 + left)        canvas.create_oval(250 - 20,250 - top,250 + 20,250 + top)        canvas.create_rectangle(20 - 2 * i,20 - 2 * i,10 * (i + 2),10 * ( i + 2))        right += 5        left += 5        top += 10    canvas.pack()    mainloop()

实例065:画组合图形

题目:一个最优美的图案。  

import mathfrom tkinter import *class PTS:    def __init__(self):        self.x = 0        self.y = 0points = []def LineToDemo():    screenx = 400    screeny = 400    canvas = Canvas(width = screenx,height = screeny,bg = 'white')    AspectRatio = 0.85    MAXPTS = 15    h = screeny    w = screenx    xcenter = w / 2    ycenter = h / 2    radius = (h - 30) / (AspectRatio * 2) - 20    step = 360 / MAXPTS    angle = 0.0    for i in range(MAXPTS):        rads = angle * math.pi / 180.0        p = PTS()        p.x = xcenter + int(math.cos(rads) * radius)        p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)        angle += step        points.append(p)    canvas.create_oval(xcenter - radius,ycenter - radius,                       xcenter + radius,ycenter + radius)    for i in range(MAXPTS):        for j in range(i,MAXPTS):            canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)    canvas.pack()    mainloop()if __name__ == '__main__':    LineToDemo()

实例066:三数排序

题目:输入3个数a,b,c,按大小顺序输出。   

程序分析:同实例005。

raw=[]for i in range(3):    x=int(input('int%d: '%(i)))    raw.append(x)for i in range(len(raw)):    for j in range(i,len(raw)):        if raw[i]>raw[j]:            raw[i],raw[j]=raw[j],raw[i]print(raw)raw2=[]for i in range(3):    x=int(input('int%d: '%(i)))    raw2.append(x)print(sorted(raw2))

实例067:交换位置

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

li=[3,2,5,7,8,1,5]li[-1],li[li.index(min(li))]=li[li.index(min(li))],li[-1]m=li[0]ind=li.index(max(li))li[0]=li[ind]li[ind]=mprint(li)

实例068:旋转数列

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

from collections import *li=[1,2,3,4,5,6,7,8,9]deq=deque(li,maxlen=len(li))print(li)deq.rotate(int(input('rotate:')))print(list(deq))

实例069:报数

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

if __name__ == '__main__':    nmax = 50    n = int(input('请输入总人数:'))    num = []    for i in range(n):        num.append(i + 1)    i = 0    k = 0    m = 0    while m < n - 1:        if num[i] != 0 : k += 1        if k == 3:            num[i] = 0            k = 0            m += 1        i += 1        if i == n : i = 0    i = 0    while num[i] == 0: i += 1    print(num[i])

实例070:字符串长度II

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

def lenofstr(s):    return len(s)print(lenofstr('tanxiaofengsheng'))

实例071:输入和输出

题目:编写input()output()函数输入,输出5个学生的数据记录。

N = 3#stu# num : string# name : string# score[4]: liststudent = []for i in range(5):    student.append(['','',[]])def input_stu(stu):    for i in range(N):        stu[i][0] = input('input student num:\n')        stu[i][1] = input('input student name:\n')        for j in range(3):            stu[i][2].append(int(input('score:\n')))def output_stu(stu):    for i in range(N):        print ('%-6s%-10s' % ( stu[i][0],stu[i][1] ))        for j in range(3):            print ('%-8d' % stu[i][2][j])if __name__ == '__main__':    input_stu(student)    print (student)    output_stu(student)

实例072:创建链表

题目:创建一个链表。

class node:    def __init__(self, data):        self.data = data        self.next = None    def get_data(self):        return self.dataclass List:    def __init__(self, head):        self.head = head    def is_empty(self):         return self.get_len() == 0    def get_len(self):          length = 0        temp = self.head        while temp is not None:            length += 1            temp = temp.next        return length    def append(self, node):        temp = self.head        while temp.next is not None:            temp = temp.next        temp.next = node    def delete(self, index):         if index < 1 or index > self.get_len():            print("给定位置不合理")            return        if index == 1:            self.head = self.head.next            return        temp = self.head        cur_pos = 0        while temp is not None:            cur_pos += 1            if cur_pos == index-1:                temp.next = temp.next.next            temp = temp.next    def insert(self, pos, node):        if pos < 1 or pos > self.get_len():            print("插入结点位置不合理")            return        temp = self.head        cur_pos = 0        while temp is not Node:            cur_pos += 1            if cur_pos == pos-1:                node.next = temp.next                temp.next =node                break            temp = temp.next    def reverse(self, head):        if head is None and head.next is None:            return head        pre = head        cur = head.next        while cur is not None:            temp = cur.next            cur.next = pre            pre = cur            cur = temp        head.next = None        return pre    def print_list(self, head):        init_data = []        while head is not None:            init_data.append(head.get_data())            head = head.next        return init_dataif __name__=='__main__':    head=Node('head')    link=List(head)    for i in range(10):        node=Node(i)        link.append(node)    print(link.print_list(head))

实例073:反向输出链表

题目:反向输出一个链表。

class Node:    def __init__(self, data):        self.data = data        self.next = None    def get_data(self):        return self.dataclass List:    def __init__(self, head):        self.head = head    def is_empty(self):         return self.get_len() == 0    def get_len(self):          length = 0        temp = self.head        while temp is not None:            length += 1            temp = temp.next        return length    def append(self, node):        temp = self.head        while temp.next is not None:            temp = temp.next        temp.next = node    def delete(self, index):         if index < 1 or index > self.get_len():            print("给定位置不合理")            return        if index == 1:            self.head = self.head.next            return        temp = self.head        cur_pos = 0        while temp is not None:            cur_pos += 1            if cur_pos == index-1:                temp.next = temp.next.next            temp = temp.next    def insert(self, pos, node):        if pos < 1 or pos > self.get_len():            print("插入结点位置不合理")            return        temp = self.head        cur_pos = 0        while temp is not Node:            cur_pos += 1            if cur_pos == pos-1:                node.next = temp.next                temp.next =node                break            temp = temp.next    def reverse(self, head):        if head is None and head.next is None:            return head        pre = head        cur = head.next        while cur is not None:            temp = cur.next            cur.next = pre            pre = cur            cur = temp        head.next = None        return pre    def print_list(self, head):        init_data = []        while head is not None:            init_data.append(head.get_data())            head = head.next        return init_dataif __name__=='__main__':    head=Node('head')    link=List(head)    for i in range(10):        node=Node(i)        link.append(node)    print(link.print_list(head))    print(link.print_list(link.reverse(head)))

实例074:列表排序、连接

题目:列表排序及连接。

程序分析:排序可使用sort() 方法,连接可以使用 + 号或 extend() 方法。

a=[2,6,8]b=[7,0,4]a.extend(b)a.sort()print(a)

例075:不知所云

题目:放松一下,算一道简单的题目。

if __name__ == '__main__':    for i in range(5):        n = 0        if i != 1: n += 1        if i == 3: n += 1        if i == 4: n += 1        if i != 4: n += 1        if n == 3: print (64 + i)

关于“Python有哪些练习题”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python有哪些练习题”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python有哪些练习题

本文链接: https://lsjlt.com/news/321164.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python有哪些练习题
    这篇文章主要介绍了Python有哪些练习题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python有哪些练习题文章都会有所收获,下面我们一起来看看吧。实例051:按位与题目:学习使用按位与 & 。程序...
    99+
    2023-06-28
  • 基础Python练习题有哪些
    本篇内容主要讲解“基础Python练习题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基础Python练习题有哪些”吧!1. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中9...
    99+
    2023-06-25
  • Python队列的练习题有哪些
    这篇文章主要为大家展示了“Python队列的练习题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python队列的练习题有哪些”这篇文章吧。1. 使用两个栈实现一个队列[问题] 给定两个栈...
    99+
    2023-06-29
  • Python基础练习题目有哪些
    这篇文章主要讲解了“Python基础练习题目有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python基础练习题目有哪些”吧!1 、题目:有5个数字:1、2、3、4,5能组成...
    99+
    2023-06-02
  • Java练习题有哪些
    这篇文章给大家分享的是有关Java练习题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、在异常处理中,如释放资源,关闭数据库、关闭文件应由( )语句来完成。正确答案: C try子句catch子句fina...
    99+
    2023-06-20
  • python的while循环练习题有哪些
    这篇文章主要介绍“python的while循环练习题有哪些”,在日常操作中,相信很多人在python的while循环练习题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python的while循环练习题...
    99+
    2023-06-21
  • Python装饰器的练习题有哪些
    这篇文章主要讲解了“Python装饰器的练习题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python装饰器的练习题有哪些”吧!1.请实现一个装饰器,把函数的返回值+100然后返回d...
    99+
    2023-06-25
  • Java日常练习题有哪些
    这篇文章将为大家详细讲解有关Java日常练习题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()正确答案: C Arithmetic...
    99+
    2023-06-20
  • Java笔试练习题有哪些
    本篇内容介绍了“Java笔试练习题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下列属于合法标识符的是__________。A)&am...
    99+
    2023-06-17
  • C++链表练习题有哪些
    这篇文章主要为大家展示了“C++链表练习题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++链表练习题有哪些”这篇文章吧。反转单链表题目1:给你单链表的头节点 head&nbs...
    99+
    2023-06-29
  • Python实战项目代码练习题有哪些
    这篇文章主要介绍“Python实战项目代码练习题有哪些”,在日常操作中,相信很多人在Python实战项目代码练习题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python实战项目代码练习题有哪些”的疑...
    99+
    2023-06-29
  • python基本数据类型练习题有哪些
    这篇文章主要为大家展示了“python基本数据类型练习题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python基本数据类型练习题有哪些”这篇文章吧。题目[1]:格式输出练习。在交互式状...
    99+
    2023-06-28
  • web前端javascript练习题有哪些
    这篇文章主要讲解了“web前端javascript练习题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端javascript练习题有哪些”吧!编写任意个数字的求和、差、积、商的...
    99+
    2023-06-05
  • java常见递归练习题有哪些
    小编给大家分享一下java常见递归练习题有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布性,Java是面...
    99+
    2023-06-14
  • python练习题
    #############################userername = raw_input("USERNAME:")password = raw_input("PASSWORD:")if username == "user" a...
    99+
    2023-01-31
    练习题 python
  • C语言中函数练习题有哪些
    小编给大家分享一下C语言中函数练习题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第壹题 :字符串逆序(递归实现)方法一,非递归实现main主体部分数组名是...
    99+
    2023-06-29
  • python习题练习(chapater
     #!/usr/bin/env python# coding: utf-8'for practise in chapater five'#定义一个函数,计算并返回两个数的乘机def product(a, b): return(a * b)#...
    99+
    2023-01-31
    习题 python chapater
  • python练习题-pandas
    一、实训1 读取并查看某地区房屋销售数据的基本信息 1、使用read_csv函数读取“某地区房屋销售数据.csv”文件,创建DataFrame对象housesale  首先引入第三方库,numpy和pandas import numpy a...
    99+
    2023-10-18
    pandas python 开发语言
  • python练习题1
    题目:输入某年某月某日,判断这一天是这一年的第几天? 分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天。 dateType= input('请输入年月日的格式为:...
    99+
    2023-01-31
    练习题 python
  • Python练习题(day3)
    一、函数练习题: 1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于...
    99+
    2023-01-31
    练习题 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作