Python初级案例教学【第二课】(Python 黑客对讲机,模拟个人用户登录,银行金额大写汉字转换)
Python模拟个人用户登录
业务需求:
要求:账号:admin 密码:123
1.登录时给3次机会。
2. 如果成功,显示欢迎xxx。
3. 如果登录失败,显示录入错误你还有x次机会。如果3次机会使用完毕,则显示登录超限,请明天再登录。
关键技术分析:
• 1. 登录需要用户名和密码,也就是两个字符串。
• 2. 用户名和密码应该使用键盘输入,获取两个字符串。
• 3. 怎么样才算登录成功?需要注册的时候所使用的用户名和密码。
• 4. 验证输入的用户名和密码和注册时是否一致。
• 5. 3次机会,使用for
• 6. 如果登录成功需要跳出循环。显示欢迎xxx。如果失败,需要if判断是否机会使用完毕
for i in range(3):
name = input('请输入用户名:')
pwd = input('请输入密码:')
if name == 'admin' and pwd == '123':
print('欢迎:'+name)
break
elif i < 2:
n = int(2-i)
print('输入错误,你还有%d次机会' % n)
continue
else:
print('登录超限,请明天再登录')
break
Python银行金额大写汉字转换
业务需求:
银行电子支票业务在金额部分需要使用大写的汉字,因此需要将用户录入的数字信息转变为汉字。
• 目前只需完成1~5位整数转换即可。
示例:
输入金额:> 32542
汉字转换:> 叁 萬 贰 仟 伍 佰 肆 拾 贰 圆 整
关键技术分析:
• 使用For循环完成数字每一位的拆解。
• 利用列表下标实现对位转换。
编程思路:
程序可以拆分为3个环节实现:
需要创建两个列表,为后续对位转换做准备:
环节1:计算出用户输入金额的位数;
环节2:利用已知位数完成每一位的拆解;
环节3:通过列表下标对位实现最终输出。
• 开发技巧:
需要创建两个列表,为后续对位转换做准备:
• 汉字列表:[‘零’, ‘壹’, ‘贰’, ‘叁’, ‘肆’, ‘伍’, ‘陆’, ‘柒’, ‘捌’, ‘玖’, ‘拾’]
• 单位列表:[‘圆’,‘拾’, ‘佰’, ‘仟’, ‘萬’]
list_chinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾']
list_unit = ['圆', '拾', '佰', '仟', '萬']
money = input('input 金额 五位以下: ')
price = int(money[:5]) # 去除首位的0
list_price = list(str(price))
end_zero = 1 # 末尾是否为0
now = 1 # 当前是否为0
len_price = len(list_price)
for i in range(len_price):
list_price[i] = list_chinese[int(list_price[i])] # 对位转换成大写
zero = list_chinese[0] # 零
if list_price[-1] == zero:
end_zero = 0
for i in range(len_price):
if len_price == 1 and end_zero == 0:
print(list_price[0], end='')
print(list_unit[0], end='') # 0时
break
elif i == len_price - 1 and end_zero == 0:
print(list_unit[0], end='')
break
elif i == len_price - 1 and end_zero == 1:
print(list_price[i], end='')
print(list_unit[len_price - i - 1], end='')
else:
if list_price[i] == zero:
now = 0 # 当前为0
else:
now = 1
if now == 1 or (now == 0 and list_price[i - 1] != zero and end_zero == 1):
print(list_price[i], end='')
if now == 1 and i != len_price - 1: # 若当前不为0
print(list_unit[len_price - i - 1], end='')
print('整')
Python竞猜商品价格
import random
n = random.randint(1, 600)
# print(n)
for i in range(10):
m = int(input('请输入竞猜价格:'))
if m < n:
print('价格低了,请继续')
elif m > n:
print('价格高了,请继续')
else:
print('你真厉害,猜对了!')
break
if i == 9:
print('本次竞猜失败,请下次努力')
编写一个函数,将黑客精英发送的信息转换为暗语输出
如发送的信息中含有数字0,就把数字 0替换为暗语字母 O 。含有数字2, 2替换为暗语学母 Z
def jiami(list1, list2):
list3 = []
for i in list1:
list3.append(list2[int(i)])
return list3
if __name__ == '__main__':
lis1 = input('请输入一组数字信息:')
lis2 = ['O', 'I', 'Z', 'E', 'Y', 'S', 'G', 'L', 'B', 'P']
n = jiami(lis1, lis2)
print(n)
总结:
通过这几个案例对Python有了更加深刻地理解!
- 点赞
- 收藏
- 关注作者
评论(0)