数据类型转换和字符串拼接

第一道题:
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
 1 ip_num = '172.17.13.11'
 2 ip_list = ip_num.split('.')  # 分割后放入列表  
 3 bin_str_ip = ''
 4 for i in ip_list:
 5     i = bin(int(i))
 6     i = str(i[2::])
 7     if len(i) <= 8:
 8         bin_str_ip += '0' * (8-len(i))+i
 9 
10 bin_num = int(bin_str_ip,base=2)
11 print('%s = %s'%(bin_str_ip,bin_num))

 

第二道题:

要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
1 电脑 1999
2 鼠标 10
...
2:用户输入选择的商品序号,然后打印商品名称及商品价格
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。
goods = [
["电脑",1999],
["鼠标",10],
["游艇",20],
["美女",990],
]
 1 goods = [
 2         ["电脑",1999],
 3         ["鼠标",10],
 4         ["游艇",20],
 5         ["美女",990],
 6     ]
 7 print('序列号','商品'.rjust(3))
 8 for i in range (len(goods)):
 9     print('%s\t%s\t'%(i+1,goods[i][0].rjust(5)))
10 while True:
11     choice = input('请输入商品序列号:')
12     if choice.upper() == "Q":
13         break
14     elif int(choice) >= 0 and int(choice) <= len(goods):
15         choice = int(choice)
16         print('选择的商品是:%s\t\t%s' % (goods[choice - 1][0], goods[choice - 1][1]))

 

第三道题:

实现用户登录程序

- 循环提示用户录入用户名和密码,输入Q或q终止。
- 用户名和密码校验(三次错误机会)。

 1 user_info = {
 2     'david':['123',3],
 3     'tom':['456',3],
 4 }
 5 
 6 
 7 while True:
 8     username = input('请输入账户:')
 9     if username in user_info:
10         if user_info[username][1] == 0:
11             print('账户锁定')
12         else:
13             passwd = input('请输入密码:')
14             if passwd == user_info[username][0]:
15                 print('登录成功')
16                 break
17             else:
18                 print('账户密码无效,请重新输入')
19                 user_info[username][1] -= 1
20     else:
21         print('无效账户')

 

第四题:

基于for和range实现 9*9 乘法表.

1 for num1 in range(1,10):
2     num_str = ''
3     for num2 in range (1,10):
4         num_str += '%s * %s  '%(num1,num2)
5         if num1 == num2 :
6             print(num_str,'\n')

 



你可能感兴趣的:(数据类型转换和字符串拼接)