Python练手例子(7)
37、对10个数进行排序。
程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
#python 3.7 if __name__ == '__main__':
N = 10
print('请输入10个数字:\n')
l = []
for i in range(N):
l.append(int(input('请输入一个数字:\n')))
for i in range(N):
print(l[i])
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])
38、求一个3*3矩阵主对角线元素之和。
程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
#python 3.7 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:\n')))
for i in range(3):
sum += a[i][i]
print(sum)
39、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
#python 3.7 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插入一个数字:\n'))
end = a[9]
if number > end:
a[10] = end
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 = ' ')
注:在Python3.x中,print(a[i], end = ' ')可以让数字不换行
40、将一个数组逆序输出。
程序分析:用第一个与最后一个交换。
#python 3.7 if __name__ == '__main__':
a = [9, 6, 5, 4, 1]
N = len(a)
print(a)
for i in range(int(len(a) / 2)):
a[i], a[N - i - 1] = a[N - i - 1], a[i]
print(a)
41、模仿静态变量的用法。
#python 3.7
def varfunc():
var = 0
print('var = %d' % var)
var += 1
if __name__ == '__main__':
for i in range(3):
varfunc() # 类的属性
# 作为类的一个属性
class Static:
StaticVar = 5
def varfunc(self):
self.StaticVar += 1
print(self.StaticVar) print(Static.StaticVar)
a = Static()
for i in range(3):
a.varfunc()
42、学习使用auto定义变量的用法。
程序分析:没有auto关键字,使用变量作用域来举例吧。
#python3.7 num = 2
def autofunc():
num = 1
print('internal block num = %d' % num)
num += 1
for i in range(3):
print('The num = %d' % num)
num += 1
autofunc()
参考资料:
Python 100例
Python练手例子(7)的更多相关文章
- Python练手例子(4)
16.一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 程序分析:请参照程序Python 100例中的第14个例子 #py ...
- Python练手例子(10)
55.学习使用按位取反~. 程序分析:~0=1; ~1=0; (1)先使a右移4位. (2)设置一个低4位全为1,其余全为0的数.可用~(~0<<4) (3)将上面二者进行&运算. ...
- Python练手例子(3)
13.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...
- Python练手例子(16)
91.时间函数举例1. #!/usr/bin/python #coding=utf-8 import time if __name__ == '__main__': #time.time()返回当前的 ...
- Python练手例子(15)
85.输入一个奇数,然后判断最少几个 9 除于该数的结果为整数. 程序分析:999999 / 13 = 76923. #!/usr/bin/python #coding=utf-8 if __name ...
- Python练手例子(14)
79.字符串排序. #python3.7 if __name__ == '__main__': str1 = input('Input string:\n') str2 = input('Input ...
- Python练手例子(13)
73.反向输出一个链表. #python3.7 if __name__ == '__main__': ptr = [] for i in range(5): num = int(input('Plea ...
- Python练手例子(12)
67.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组. #python3.7 def inp(numbers): for i in range(6): numbers.appen ...
- Python练手例子(11)
61.打印出杨辉三角形. #python3.7 from sys import stdout if __name__ == '__main__': a = [] for i in range(10): ...
- Python练手例子(9)
49.使用lambda来创建匿名函数. #python3.7 MAXIMUM = lambda x,y : (x > y) * x + (x < y) * y MINIMUM = lamb ...
随机推荐
- [Tex学习笔记]小于等于一个常数乘以...
偏微分的论文中常用: 小于等于一个常数乘以... 这个要怎么输入呢. 只要输入\lesssim 就能得到 $\lesssim$...哈哈. 以前知道, 但是忘记了. 现在又要用.
- Lookup dict 并将属性更新于lookupdict object中
# encoding:utf-8class LookupDict(dict): """Dictionary lookup object.""" ...
- java8 按对象属性值分组
Map<String, List<User>> userMap = list.stream().collect(Collectors.groupingBy(User::getG ...
- day 14 - 2 生成器练习
相关练习 1.处理文件,用户指定要查找的文件和内容,将文件中包含要查找内容的每一行都输出到屏幕 #比较 low 的方法 def check_file(filename,aim): with open( ...
- 利用pyinstaller 打包Python文件
1.下载安装pyinstaller模块 cmd 命令: pip install pyinstaller cmd命令: pip list 查看自己安装的模块 2.建议把要大包的Python文件单独放到新 ...
- POJ 1556 The Doors(线段相交+最短路)
题目: Description You are to find the length of the shortest path through a chamber containing obstruc ...
- C++实验一
2-28 #include <iostream> using namespace std; int main() {char x; cout<<"Menu: A(dd ...
- 将DataTable转换为List<T>对象遇到问题:类型“System.Int64”的对象无法转换为类型“System.Int32”。
可以利用反射将DataTable转换为List<T>对象:原始链接http://www.jb51.net/article/67386.htm 但是该方法在DataTable里某个字段类型是 ...
- 面试容易问到的Linux问题
1.有没有使用过linux?用来干什么? Linux是一个长时间运行比较稳定的操作系统,我们一般会拿它作为服务器. 一下软件(redis等)没有软件包,需要在linux的C编译环境下编译得到软件包. ...
- All about Using Burp Suite
1.how to use burpsuite I can't thank them enough for allowing us to test web application ,making su ...