python入门练习题-python入门练习题2

1,制作表格

循环提示用户输入:用户名,密码,邮箱(要求用户输入的长度超过20个字符,如果超过则只有前20个字符有效)

如果用户输入q或Q就退出程序,将用户输入的内容以表格形式显示

user_input = None #用户名的初始值

pwd = None #密码的初始值

email = None #邮箱地址的初始值

public = None #公共变量名初始值

flag = False #标志位

while not flag: #当flag不为False时,就执行以下代码块

print('温馨提醒:如果需要退出程序请按"q"或"Q"退出')

public = input('请输入你的用户名:') #提示用户输入用户名

if len(public) <= 20: #但是用户输入的长度小于或者等20个字符时,就先什么都不执行

pass

else:

public = public[:20] #但是用户输入的长度大于20个字符时,就取字符串中的前20个字符

if public.lower() != 'q': #如果用户输入的字符串中不包含q时,就将用户输入的值赋值给user_inpput

user_input = public

else:

flag = True #如果用户输入的字符串中包含q时,flag标记位就为真,,用户输入的字符串中包含q时,用户输入q时就可以退出程序

break

public = input('请输入你的密码:')

if len(public) <= 20:

pass

else:

public = public[:20]

if public.lower() != 'q':

pwd = public

else:

flag = True

break

public = input('请输入你的邮箱地址:')

if len(public) <= 20:

pass

else:

public = public[:20]

if public.lower() != 'q':

email = public

else:

flag = True

break

user_output = '''

name password email

%s %s %s

'''%(user_input,pwd,email)

print(user_output.expandtabs(20))

##########结果输出################

温馨提醒:如果需要退出程序请按"q"或"Q"退出

请输入你的用户名:laiying

请输入你的密码:123

请输入你的邮箱地址:123@qq.com

温馨提醒:如果需要退出程序请按"q"或"Q"退出

请输入你的用户名:q

name password email

laiying 123 123@qq.com

2.实现一个整数加法计算器

如:content = input('请输入内容:')  #5+9 或 1+3

1 sum1 = 0 #求和的初始值

2 user_input = input('请输入你要计算的数字:').split('+') #提示用户的输入,并将用户的输入以+号进行分割

3 for item in user_input: #迭代每一个用户输入的元素

4 if item.isdigit(): #如果用户输入的是一个数字

5 user_input = int(item) #将用户输入的数字转换为int类型,并将转换后的值赋值给user_input

6 sum1 += user_input #用户每迭代一次,就将用户输入的元素加一次,以此类推

7 else: #如果用户输入的不是一个整数就给用户一个提示并退出程序

8 print('您输入的不是数字,程序退出')9 break

10 else:11 print(sum1) #打印求和的值

12

13 ###################结果输出##################

14

15 #请输入你要计算的数字:6+10

16 #16

3.分页显示

提示用户 请输入要查看的页码,当用户输入指定页码,则显示指定数据

注意:

- 每页显示 10 条数据

- 用户输入页码是非十进制数字,则提示输入内容格式错误

1 page = [] #页码初始列表

2 per_numbers = 10 #每一页显示的数据量

3 total_numbers = 301 #总条数

4 flag =False5 pages = divmod(total_numbers,per_numbers) #页数,计算能够有多少页

6 if pages[1] != 0: #如果总条数不能和每一页的条数整除

7 pages = pages[0] + 1 #就取它们的余数加1,将剩余的条数作为一页

8 else:9 pages = pages[0] #如果总条数能和每一页的条数整除,就直接得到页数

for i in range(1,302): # 进行for循环,生成数据

14 page.append(i) # 将 for循环生成的数据追加到页码的初始列表中

10 print("1,2,3...共31页 温馨提示:退出程序请按q")11 while notflag:

15 user_input = input("请输入您需要查看的页码:")16 if user_input.isdigit(): #判断用户输入的是否为数字

17 user_input = int(user_input) #将用户输入的数字转换为int类型

18 if user_input <= pages: #如果用户输入的页码数是在页码范围内,

19 #通过用户输入的页码,计算出切片的起始位置和结束位置,就显示该页码内的内容

20 print(page[user_input*per_numbers-per_numbers:user_input*per_numbers])21 else:22 print("您输入的页码错误,请从新输入!")23 elif user_input == 'q': #如果用户输入q就退出

24 flag =True25 break

26 else:27 print("您输入的内容格式错误!!!请从新输入!!!")

4.利用 for 循环和 range 输出 9*9乘法表

1 sum_number = "{}*{}={}"

2 a =None3 for i in range(1,10):4 for item in range(1,i+1):5 a = item *i6 print(sum_number.format(item, i, a), end=' ')7 print()

5.用 Python 开发程序自动计算方案:

公鸡 5 文钱一只,母鸡 3 文钱一只,小鸡 3 只一文钱,用 100 文钱买 100 只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母

鸡,小鸡要买多少只刚好凑足 100 文钱?

1 for g in range(1,100//5): #公鸡最多能买的只数

2 for m in range(1, 100//3): #母鸡最多能买的只数

3 for x in range(1, 100): #小鸡最多能买的只数

4 if g+m+x == 100 and g*5 + m*3 + x*(1/3) == 100: #如果公鸡+母鸡+小鸡等于100只

5 #并且公鸡的钱数加母鸡的钱数加小鸡的钱数等于100文,就可以得到100文可以买多少只鸡了

6 print("公鸡%s,母鸡%s,小鸡%s"%(g,m,x))

6.购物车

功能要求:

要求用户输入总资产,例如: 2000

显示商品列表,让用户根据序号选择商品,加入购物车

购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

1 goods =[2 {"name": "电脑", "price": 1999},3 {"name": "鼠标", "price": 10},4 {"name": "游艇", "price": 20},5 {"name": "美女", "price": 998},6 ]7

8 total_assets = 2000 #用户总资产

9 shopping_list = [] #初始化用户购物列表

10 price = 0 #用户购买总金额初始值

11 flag = False #定义一个标志位

12 for i inenumerate(goods):13 print(i)14 user_assets = int(input("请输入您的总资产:"))15 while notflag:16 user_input = input("请根据商品序号选择您要购买商品:")17 ifuser_input.isdigit():18 user_input =int(user_input)19 for i inenumerate(goods):20 if user_input == i[0]: #如果用户输入的是商品序号等于商品序号

21 shopping_list.append(i[1]["name"]) #通过切片的方式将商品序号对应的商品追加到购物列表中

22 price += i[1]["price"] #计算用户购买商品的总金额

23 total_assets -= price #计算出用户的余额

24 if total_assets <0:25 print("您的余额不足,不能在购买商品,谢谢惠顾!")26 flag =True27 break

28 else:29 print("您选购的商品为: %s" %shopping_list)30 print("用户余额:", total_assets)31 else:32 print("错误的输入,请输入商品对应的序号")

6.输出商品列表,用户输入序号,显示用户选中的商品

商品 li = ["手机", "电脑", '鼠标垫', '游艇']

a. 允许用户添加商品

b. 用户输入序号显示内容

1 li = ["手机","电脑",'鼠标垫','游艇']2 for item inenumerate(li):3 print(item)4 user_input = input("请输入您购买产品对应的序号:")5 ifuser_input.isdigit():6 user_input =int(user_input)7 for i inenumerate(li):8 if user_input ==i[0]:9 print("您选择的商品为:",i[1])10 whileTrue:11 print("温馨提示:添加商品请按q,进行添加如果你要退出程序请按y")12 user_input = input("请输入您的操作:")13 if user_input == 'q':14 user = input("请输入你需要添加的商品名称:")15 li.append(user)16 if user_input == "y":17 break

18 else:19 print("请输入产品对应的序号(数字)")20 print(li)

7.元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66的值保存至第二个

key 的值中。

即: {'k1': 大于 66 的所有值,'k2': 小于 66 的所有值}

1 li = [11,22,33,44,55,66,77,88,99,90]2 dic = {"k1":[],"k2":[]}3 for item inli:4 if item > 66:5 dic["k1"].append(item)6 elif item < 66:7 dic["k2"].append(item)8 else:9 pass

10 print(dic)11

12 #{'k2': [11, 22, 33, 44, 55], 'k1': [77, 88, 99, 90]}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值