Python3.x 基础练习题100例(71-80)

练习71:

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

程序:

N = 5

# 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] = input('input student num:')
        stu[i][1] = input('input student name:')
        for j in range(3):
            stu[i][2].append(int(input('score:')))

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)

输出结果:


input student num:1
input student name:d
score:3
score:4
score:65
input student num:2
input student name:e
score:3
score:54
score:7
input student num:3
input student name:fds
score:3
score:5
score:6
input student num:4
input student name:s
score:3
score:45
score:67
input student num:5
input student name:rs
score:3
score:4
score:6
[[', 'rs', [3, 4, 6]]]
1     d
3
4
65
2     e
3
54
7
3     fds
3
5
6
4     s
3
45
67
5     rs
3
4
6       

练习72:

题目:
创建一个链表。

程序:

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

输出结果:


please input a number:4
please input a number:1
please input a number:2
please input a number:3
please input a number:6
[4, 1, 2, 3, 6]

练习73:

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

程序:

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

输出结果:

please input a number:1
please input a number:2
please input a number:3
please input a number:4
please input a number:5
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

练习74:

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

if __name__ == '__main__':
    a = [1, 3, 2]
    b = [3, 4, 5]
    a.sort()  # 对列表 a 进行排序
    print(a)

    # 连接列表 a 与 b
    print(a + b)
   
    # 连接列表 a 与 b
    a.extend(b)
    print(a)

输出结果:

[1, 2, 3]
[1, 2, 3, 3, 4, 5]
[1, 2, 3, 3, 4, 5]

练习75:

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

程序:

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)

输出结果:

67

练习76:

题目:
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n

程序:

def peven(n):
    i = 0
    s = 0.0
    for i in range(2, n + 1, 2):
        s += 1.0 / i  # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0
    return s

def podd(n):
    s = 0.0
    for i in range(1, n + 1, 2):
        s += 1.0 / i  # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0
    return s

def dcall(fp, n):
    s = fp(n)
    return s

if __name__ == '__main__':
    n = int(input('input a number:\n'))
    if n % 2 == 0:
        sum = dcall(peven, n)
    else:
        sum = dcall(podd, n)
    print(sum)

输出结果:

input a number:
12
1.2249999999999999

练习77:

题目:
循环输出列表

程序:

if __name__ == '__main__':
    s = ["man", "woman", "girl", "boy", "sister"]
    for i in range(len(s)):
        print(s[i])

输出结果:

man
woman
girl
boy
sister

练习78:

题目:
找到年龄最大的人,并输出。请找出程序中有什么问题。

程序:

if __name__ == '__main__':
    person = {"li": 18, "wang": 50, "zhang": 80, "sun": 22}
    m = 'li'
    for key in person.keys():
        if key != m:
            if person[m] < person[key]:
                m = key
        else:
            continue

    print('%s,%d' % (m, person[m]))

输出结果:

zhang,80

练习79:

题目:
字符串排序。

程序:

if __name__ == '__main__':
    str1 = input('input string:')
    str2 = input('input string:')
    str3 = input('input string:')
    print(str1, str2, str3)

    if str1 > str2: str1, str2 = str2, str1
    if str1 > str3: str1, str3 = str3, str1
    if str2 > str3: str2, str3 = str3, str2
   
    print('after being sorted:',end=" ")
    print(str1, str2, str3)

输出结果:

input string:fasd
input string:fdse
input string:gbx
fasd fdse gbx
after being sorted: fasd fdse gbx

练习80:

题目:
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二
只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原
来最少有多少个桃子?

程序:

if __name__ == '__main__':
    i = 0
    j = 1
    x = 0
    while (i < 5):
        x = 4 * j
        for i in range(0, 5):
            if (x % 4 != 0):
                break
            else:
                i += 1
            x = (x / 4) * 5 + 1
        j += 1
    print(x)

输出结果:

3121.0
posted @ 2021-03-05 12:27  youcans  阅读(176)  评论(0编辑  收藏  举报