Python3.x 基础练习题100例(31-40)
练习31:
题目:
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
程序:
letter = input("please input:")
# while letter  != 'Y':
if letter == 'S':
    print('please input second letter:')
    letter = input("please input:")
    if letter == 'a':
        print('Saturday')
    elif letter == 'u':
        print('Sunday')
    else:
        print('data error')
elif letter == 'F':
    print('Friday')
elif letter == 'M':
    print('Monday')
elif letter == 'T':
    print('please input second letter')
    letter = input("please input:")
    if letter == 'u':
        print('Tuesday')
    elif letter == 'h':
        print('Thursday')
    else:
        print('data error')
elif letter == 'W':
    print('Wednesday')
else:
    print('data error')```
输出结果:
please input:F
Friday
练习32:
题目:
按相反的顺序输出列表的值。
程序:
a = ['one', 'two', 'three']
for i in a[::-1]:
print(i)
输出结果:
three
two
one
练习33:
题目:
按逗号分隔列表。
程序:
L = [1, 2, 3, 4, 5]
s1 = ','.join(str(n) for n in L)
print(s1)
输出结果:
1,2,3,4,5
练习34:
题目:
练习函数调用。
程序:
def hello_world():
    print('hello world')
def three_hellos():
    for i in range(3):
        hello_world()
if __name__ == '__main__':
three_hellos()
输出结果:
hello world
hello world
hello world
练习35:
题目:
文本颜色设置。
程序:
class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'
print(bcolors.OKBLUE + "成功的颜色字体?" + bcolors.ENDC)
输出结果:
成功的颜色字体?
练习36:
题目:
求100之内的素数。
程序:
# 输出指定范围内的素数
# 用户输入数据
lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))
for num in range(lower, upper + 1):
    # 素数大于 1
    if num > 1:
        for i in range(2, num):
            if (num % i) == 0:
                break
        else:
            print(num)
输出结果:
输入区间最小值: 1
输入区间最大值: 100
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
练习37:
题目:
对10个数进行排序。
分析:
可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
程序:
if __name__ == "__main__":
    N = 10
    # input data
    print("请输入10个数字:")
    l = []
    for i in range(N):
        l.append(int(input('输入要排序的数字:')))
    print("排序之前:")
    for i in range(N):
        print(l[i],end=" ")
    print()
    # 排列10个数字
    for i in range(N - 1):
        min = i
        for j in range(i + 1, N):
            if l[min] > l[j]: min = j
        l[i], l[min] = l[min], l[i]
    print('排列之后:')
    for i in range(N):
        print(l[i],end=" ")
输出结果:
请输入10个数字:
输入要排序的数字:1
输入要排序的数字:2
输入要排序的数字:5
输入要排序的数字:7
输入要排序的数字:8
输入要排序的数字:9
输入要排序的数字:5
输入要排序的数字:22
输入要排序的数字:3
输入要排序的数字:0
排序之前:
1 2 5 7 8 9 5 22 3 0
排列之后:
0 1 2 3 5 5 7 8 9 22 
练习38:
题目:
求一个3*3矩阵主对角线元素之和。
分析:
利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
程序:
if __name__ == '__main__':
    a = []
    sum = 0.0
    for i in range(3):
        a.append([])
        for j in range(3):
            a[i].append(float(input("input num:")))
    for i in range(3):
        sum += a[i][i]
print(sum)
输出结果:
input num:4
input num:2
input num:3
input num:5
input num:6
input num:1
input num:2
input num:3
input num:7
17.0
练习39:
题目:
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
分析:
首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
程序:
if __name__ == '__main__':
    # 方法一 : 0 作为加入数字的占位符
    a = [1, 4, 6, 9, 13, 16, 19, 28, 40, 100, 0]
    print('原始列表:')
    for i in range(len(a)):
        print(a[i],end=" ")
    number = int(input("\n插入一个数字:"))
    end = a[9]
    if number > end:
        a[10] = number
    else:
        for i in range(10):
            if a[i] > number:
                temp1 = a[i]
                a[i] = number
                for j in range(i + 1, 11):
                    temp2 = a[j]
                    a[j] = temp1
                    temp1 = temp2
                break
    print('排序后列表:')
    for i in range(11):
        print(a[i],end=" ")
输出结果:
原始列表:
1 4 6 9 13 16 19 28 40 100 0
插入一个数字:5
排序后列表:
1 4 5 6 9 13 16 19 28 40 100 
练习40:
题目:
将一个数组逆序输出。
分析:
用第一个与最后一个交换。
程序:
if __name__ == '__main__':
    a = [9, 6, 5, 4, 1]
    N = len(a)
    print(a)
    for i in range(len(a) // 2):
        a[i], a[N - i - 1] = a[N - i - 1], a[i]
print(a)
输出结果:
[9, 6, 5, 4, 1]
[1, 4, 5, 6, 9]
Python3.x 基础练习题100例(31-40)的更多相关文章
- Python3.x 基础练习题100例(01-10)
		练习01: 题目: 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 分析: 可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ... 
- Python3.x 基础练习题100例(11-20)
		练习11: 题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析: 兔子的规律为数列1,1,2, ... 
- Python3.x 基础练习题100例(51-60)
		练习51: 题目: 学习使用 按位与(&) . 分析: 0&0=0; 0&1=0; 1&0=0; 1&1=1. 程序: if __name__ == '__ma ... 
- Python3.x 基础练习题100例(41-50)
		练习41: 题目: 模仿静态变量的用法. 程序: def varfunc(): var = 0 print('var = %d' % var) var += 1 if __name__ == '__m ... 
- Python3.x 基础练习题100例(21-30)
		练习21: 题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前 一天剩下的一半零一个.到第10天早上 ... 
- Python3.x 基础练习题100例(81-90)
		练习81: 题目: 809??=800??+9?? 其中??代表的两位数, 809??为四位数,8??的结果为两位数,9??的结果为3位数.求??代表的两位数,及809*??后的结果. 程序: a = ... 
- Python3.x 基础练习题100例(91-100)
		练习91: 题目: 时间函数举例1. 程序: if __name__ == '__main__': import time print (time.ctime(time.time())) print ... 
- Python3.x 基础练习题100例(61-70)
		练习61: 题目: 打印出杨辉三角形. 程序: if __name__ == '__main__': a = [] for i in range(10): a.append([]) for j in ... 
- Python3.x 基础练习题100例(71-80)
		练习71: 题目: 编写input()和output()函数输入,输出5个学生的数据记录. 程序: N = 5 # stu # num : string # name : string # score ... 
随机推荐
- std::thread线程库详解(4)
			目录 目录 前言 条件变量 一些需要注意的地方 总结 前言 本文主要介绍了多线程中的条件变量,条件变量在多线程同步中用的也比较多.我第一次接触到条件变量的时候是在完成一个多线程队列的时候.条件变量用在 ... 
- HDU-4773 Problem of Apollonius (圆的反演)
			参考: https://oi-wiki.org/geometry/inverse/ https://blog.csdn.net/acdreamers/article/details/16966369 ... 
- Windows10与虚拟机中CentOS-7.2进行ftp通信
			首先Linux的IP地址可以通过以下命令获取: ifconfig Windows10上面IP地址通过下面命令获取 ipconfig 你首先要保证你的主机和Linux虚拟机是可以ping通的(ping都 ... 
- 20162017-acmicpc-south-pacific-regional-contest-sppc-16 B.Ballon Warehouse
			题意:给你一个无限长且元素均为\(0\)的排列,每次给你一对\((x,y)\),表示在所有\(x\)的后面插入一个元素\(y\),最后给你一个区间\((l,r)\),输出\([l,r-1]\)中的所有 ... 
- CentOS 6 修改/etc/security/limits.conf不生效办法
			我们使用CentOS系统,在部署新的服务经常会遇到 打开最大文件数限制 too many open files的警告,通常我们只需要修改/etc/security/limits.conf该文件,增加两 ... 
- poj-3046 Ant Counting【dp】【母函数】
			题目链接:戳这里 题意:有A只蚂蚁,来自T个家族,每个家族有ti只蚂蚁.任取n只蚂蚁(S <= n <= B),求能组成几种集合? 这道题可以用dp或母函数求. 多重集组合数也是由多重背包 ... 
- Volatile如何保证线程可见性之总线锁、缓存一致性协议
			基础知识回顾 下图给出了假想机的基本设计.中央处理单元(CPU)是进行算术和逻辑操作的部件,包含了有限数量的存储位置--寄存器(register),一个高频时钟.一个控制单元和一个算术逻辑单元. 时钟 ... 
- Keras 报错: Error when checking target: expected dense_4...
			笔者此处是一个回归任务, 最后一层是: ... pred = Dense(1)(x) 在最后一个Dense层前加上x = Flatten()(x)即可. 
- 如何快速定位 Redis 热 key?
			背景 在 Redis 中,热 key 指的是那些在一段时间内访问频次比较高的键值,具体到业务上,商品的限时抢购.瞬时的新闻热点或某个全局性的资源,都极有可能产生热点 key. 热点 key 的出现可能 ... 
- 手把手教你使用 js 实现一个 Canvas 编辑器
			手把手教你使用 js 实现一个 Canvas 编辑器 拖拽 缩放,等比缩放 导出 image 模版 撤销,重做 OOP,封装,继承,多态 发布库 CI/CD (gitlab/github) ... h ... 
