Python 入门练习3:列表、元组、集合、字典、函数

1. 在字典中存储学生成绩:数学125分、语文103分、英语117分、物理78分。存储完成后,增加一门化学成绩55分。将语文成绩修改为98分。删除英语成绩。最后输出这个集合。

2. 模拟登录流程。系统中存放着两个用户:用户名root,密码123;用户名test。密码456。系统首先提示用户输入用户名,如果输入存在的用户名则提示用户继续输入密码,输入正确则提示登录成功,程序结束。如果输入错误的用户名,系统让用户重新输入用户名再次登录。如果输入用户名正确但密码错误,系统也会令用户重新输入用户名和密码。三次输入信息错误后,提示用户登录失败,退出系统。

3. 系统首先提示用户输入一个整数,代表即将要输入的整数的个数。然后,用户依次输入对应数量的整数。系统去除重复的数字,并按从小到大的顺序输出剩余的数字。

4. 输出一个长度为6的列表,每一项分别是一个由10个随机小写字母组成的字符串。

5. 输入一个正整数,用递归函数的方法计算并输出它的阶乘。

6. 输出斐波那契数列前20项。斐波那契数列,是指1,1,2,3,5,8,13,21......这样一个数列,在这个数列当中,从第三项起,每一项都是前两项数字之和。

7. 对于以下三行,分别输出其本身、最大值、最小值和元素个数。

[9, 7, 8, 3, 2, 1, 55, 6]
['apple', 'pear', 'melon', 'kiwi']
'TheQuickBrownFox'

--------------------------------------------------------------------------

--------------------------------------------------------------------------

--------------------------------------------------------------------------

1

d = {
    '数学': 125,
    '语文': 103,
    '英语': 117,
    '物理': 78
}
d['化学'] = 55
d['语文'] = 98
del d['英语']
print(d)

2

users = ('root', 'test')
passwds = ('123', '456')
time = 0


def login():
    ulogin = input('Input username: ')
    plogin = input('Input password: ')
    if ulogin in users:
        if plogin in passwds:
            print('Login accepted')
        else:
            print('Wrong Password')
            global time
            time += 1
            if time < 3:
                login()
            else:
                print('Login denied')
    else:
        print('Wrong Username')
        time += 1
        if time < 3:
            login()
        else:
            print('Login denied')


login()

3

myList = []
times = int(input('Input time(s): '))
currTime = 0
while currTime < times:
    item = input('Input item: ')
    myList.append(int(item))
    currTime += 1
myList = list(set(myList))
myList.sort()
print(myList)

4

import random

myList = []
myStr = ''
for i in range(6):
    for j in range(10):
        myStr += (chr(random.randint(97, 122)))
    myList.append(myStr)
    myStr = ''
print(myList)

5

time = int(input('Input times: '))
result = 1
i = 1


def fact(time):
    global result
    global i
    result *= i
    i += 1
    if time != 1:
        return fact(time - 1)
    else:
        print(result)


fact(time)

6

def f(s):
    if s == 1 or s == 2:
        return 1
    else:
        return f(s - 1) + f(s - 2)


for i in range(20):
    print(f(i + 1))

7

def cal(myList):
    return [max(myList), min(myList), len(myList)]


def out(myList):
    print(f'list = {myList}')
    print(f'最大值= {cal(myList)[0]}, 最小值= {cal(myList)[1]}, 元素个数= {cal(myList)[2]}')


list1 = [9, 7, 8, 3, 2, 1, 55, 6]
list2 = ['apple', 'pear', 'melon', 'kiwi']
list3 = 'TheQuickBrownFox'
out(list1)
out(list2)
out(list3)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hinomoto Oniko

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值