欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python练手例子(12)

程序员文章站 2023-03-31 23:15:35
67、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 68、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 69、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 70、写一个函 ......

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

#python3.7

def inp(numbers):
    for i in range(6):
        numbers.append(int(input('输入一个数字:\n')))
p = 0

def arr_max(array):
    max = 0
    for i in range(1, len(array) - 1):
        p = 1
        if array[p] > array[max] : max = p
    k = max
    array[0], array[k] = array[k], array[0]

def arr_min(array):
    min = 0
    for i in range(1, len(array) - 1):
        p = 1
        if array[p] < array[min] : min = p
    l = min
    array[5], array[l] = array[l], array[5]

def outp(numbers):
    for i in range(len(numbers)):
        print(numbers[i])

if __name__ == '__main__':
    array = []
    inp(array)
    arr_max(array)
    arr_min(array)
    print('计算结果:')
    outp(array)

 

68、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

#python3.7

if __name__ == '__main__':
    n = int(input('整数n为:\n'))
    m = int(input('向后移m个位置为:\n'))

    def move(array, n, m):
        array_end = array[n -1]
        for i in range(n - 1, -1, -1):
            array[i] = array[i - 1]
        array[0] = array_end
        m -= 1
        if m > 0: move(array, n, m)

    number = []
    for i in range(n):
        number.append(int(input('输入一个数字:\n')))
    print('原始列表:', number)

    move(number, n, m)

    print('移动之后:', number)

 

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

#python3.7

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])

 

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

#python3.7

if __name__ == '__main__':
    s = input('please input a string:\n')
    print('the string has %d characters.' % len(s))

 

71、编写input()和output()函数输入,输出5个学生的数据记录。

n = 3
#stu
# num : string
# name : string
# score[4]: list
student = []
for i in range(5):
    student.append(['','',[]])
 
def input_stu(stu):
    for i in range(n):
        stu[i][0] = raw_input('input student num:\n')
        stu[i][1] = raw_input('input student name:\n')
        for j in range(3):
            stu[i][2].append(int(raw_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)

 

72、创建一个链表。

#python3.7

if __name__ == '__main__':
    ptr = []
    for i in range(5):
        num = int(input('please input a number:\n'))
        ptr.append(num)
    print(ptr)

 

 

 

参考资料:

python 100例