自学python的第20多天
作者:互联网
今天复习了一下之前视频里学的内容,讲的是for循环,视频老师留了一道题是把阿拉伯数字切换为中文大写,这是我第二次复习这个知识点和习题了,完事感觉还是没学通这个知识点,下面是我的半看笔记半利用知识点写的代码。
x = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
y = ['圆', '拾', '佰', '仟', '萬']
a = input('请输入金额:')
b = len(a)
c = 0
for i in a:
print(x[int(a[c])] + y[int(b)-1], end='')
# print()
c = c + 1
b = b - 1
print('整')
print(type(i))
下面是第一次半看笔记半利用知识点写的,感觉更差劲了,完全是复杂化了这个过程而且还效率极低
x = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
y = ['圆', '拾', '佰', '仟', '萬']
k = input('请输入:')
for i in x:
if int(len(k)) == 5:
print(
x[int(k[0])] + y[int(len(k) - 1)] + x[int(k[1])] + y[int(len(k) - 2)] + x[int(k[2])] + y[int(len(k) - 3)] +
x[int(k[3])] + y[int(len(k) - 4)] + x[int(k[4])], end='')
elif int(len(k)) == 4:
print(x[int(k[0])] + y[int(len(k) - 1)] + x[int(k[1])] + y[int(len(k) - 2)] + x[int(k[2])] + y[
int(len(k) - 3)] + x[int(k[3])], end='')
elif int(len(k)) == 3:
print(x[int(k[0])] + y[int(len(k) - 1)] + x[int(k[1])] + y[int(len(k) - 2)] + x[int(k[2])], end='')
elif int(len(k)) == 2:
print(x[int(k[0])] + y[int(len(k) - 1)] + x[int(k[1])], end='')
elif int(len(k)) == 1:
print(x[int(k[0])])
else:
print('输入有误')
print('圆整')
然而老师给出的最优解是下面这段,很精致精辟的感觉
x = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
y = ['圆', '拾', '佰', '仟', '萬']
a = input('请输入金额:')
b = len(a)
for i in a:
b = b - 1
# print(x[int(i)])
# print(y[b])
print(f'{x[int(i)]}{y[b]}', end='')
print('整')
总结:学过的知识点要多复习,也要多练习自己敲代码。
子曰:学而时习之,不亦乐乎!
标签:知识点,elif,20,python,len,int,print,end,自学 来源: https://www.cnblogs.com/Czl996/p/16295714.html