Python初学者练习题

1. 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。例如用户输入1234,则程

序输出12。

x = input('请输入3位以上的数字:') 
if len(x) >= 3:                     
    x = int(x)                     
    print(x // 100)                 
else:
    print('输入错误。') 


2. 编写程序,要求实现猜年龄的效果,步骤如下:
a、给定年龄a为35
b、input输入一个年龄,并赋值给b
c、a和b比较大小,如果a>b,打印“猜小了,请往大的猜”,如果a<b,打印“猜大了,请往小的猜”,如果a=b,打印“恭喜,猜对了!”。
d、c步骤中如果猜对了则退出,如果猜错了,继续猜,最多只能猜三次,如果三次都没有猜对,则打印“已经猜三次了,不能继续,谢谢!”

a = 35
i = 0
while i < 3:
    b = int(input('请输入一个年龄:'))
    if a > b:
        print('猜小了,请往大了猜测')
    elif a < b:
        print('猜大了,请往小了猜测')
    else:
        print('恭喜,猜对了!')
        break
    i += 1
else:
    print('已经猜三次了,不能继续,谢谢!')


3. 编写程序,假定用户名是“zhangsan”,密码是“123456”,要求实现如下效果:
a、写一个用户登录判断用户名密码是否正确的函数,在函数中判断用户名和密码是否正确,如果都正确,返回“欢迎登录系统!”;
如果用户名错误,返回“用户名错误,请重输”;如果密码错误,返回“密码错误,请重输”;
如果都错,返回“用户名和密码均错误,请重输”。
b、在主程序中调用用户登录判断用户名密码是否正确的函数,并打印返回的信息。
 

user_name = 'Alex'
user_password = '123456'
 
 
def user_login(name, password):
    if name == user_name and password == user_password:
        return '欢迎登入系统!'
    elif name != user_name and password == user_password:
        return '用户名不正确,请重输!'
    elif name == user_name and password != user_password:
        return '用户密码不正确,请重输!'
    else:
        return '账号密码均错误,请重新输入!'
 
 
name1 = input('请输入用户名:')
password1 = input('请输入用户密码')
info = user_login(name1, password1)
print(info)   # info信息,print(info)其实就是调用函数


4. 创建一个元组,变量名为tuple_a,它的元素是0到100的自然数,并打印它。
创建一个列表,变量名为list_b,它的元素为tuple_a中提取整十的数
(即0,10,20,30,40,50,60,70,80,90,100),并打印它。
提示:需注意是从tuple_a中提取。

tuple_a = tuple(range(100))
print(tuple_a)
list_b = []
for i in tuple_a:
    if (i % 10) == 0:
        list_b.append(i)
    else:
        continue
print(list_b)


5. 编写程序,假定用户名是“zhangsan”,密码是“123456”,要求实现如下效果:
写一个用户登录判断用户名密码是否正确的函数,在函数中判断用户名和密码是否正确,如果都正确,返回“登录成功!”;
如果第一次登录用户名或者密码错误,返回“第1次猜错,密码错误,还有2次机会”;
如果第二次登录用户名或者密码错误,,返回“第2次猜错,密码错误,还有1次机会”;
如果第三次登录用户名或者密码错误,一共三次机会,三次均猜错打印“第3次猜错,账号错误,还有0次机会,已猜三次,不能继续”

user_info = ("zhangsan", "123456")  # 设好账号密码


def check_id_password(id, password):
    # 定义函数 检查账号密码
    if (user_info[0] == id) and (user_info[1] == password):
        return 0
    elif (user_info[0] == id) and (user_info[1] != password):
        return 1
    elif (user_info[0] != id) and (user_info[1] == password):
        return 2
    elif (user_info[0] != id) and (user_info[1] != password):
        return 3


for i in range(3):
    user_id = input("please input you id")
    user_password = input("please input you password")
    return_info = check_id_password(user_id, user_password)  # 调用函数
    if (return_info == 0):
        print('登录成功')
        break
    elif (return_info == 1):
        print('第' + str(i + 1) + '次猜错,密码错误,还有' + str(2 - i) + '次机会')
    elif (return_info == 2):
        print('第' + str(i + 1) + '次猜错,账号错误,还有' + str(2 - i) + '次机会')
    elif (return_info == 3):
        print('第' + str(i + 1) + '次猜错,账号密码都错,还有' + str(2 - i) + '次机会')
else:
    print("已猜三次,不能继续")


6.  假设超市的商品,其中牙膏:20元,洗发水:50元,沐浴液:30元,牙刷:4元,毛巾:10元,脸盆:15元,
给你200元,请你购买商品。要求编写程序,实现如下效果:
一次选定一样商品,选定完商品时,扣除该商品的价格,剩下的钱是可以继续购买的余额,
如此循环,直到最后钱用完,或输入Q时,退出。最后把选购的商品打印出明细和余额。
 

dict = {'牙膏': 20, '洗发水': 50, '沐浴液': 30, '牙刷': 4, '毛巾': 10, '脸盆': 15}
a = 200
list = []
print(dict)
while True:
    if a >= 0:
        b = str(input('请输入所购买的商品,或按Q结算:'))
        if b == 'Q':
            print('所购买的商品为:', list, '余额:', a)
            break
            False
        else:
            a = a - dict[b]
            list.append(b)
            print('购入成功,余额剩下:', a)
    else:
        print('余额不够,无法进行购物,请重新选择!')
        break


版权声明:本文为Big_Data_Kai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。