美文网首页python热爱者Python新世界
百道Python入门级练习题(新手友好)第六回合——五位数数位

百道Python入门级练习题(新手友好)第六回合——五位数数位

作者: 轻松学Python111 | 来源:发表于2018-10-19 21:55 被阅读2次

题目描述

【问题描述】
输入一个五位数,左对齐依次输出其数位,中间用3个空格间隔。如输入12345,则输出:
1 2 3 4 5

输出以上内容的python语句是
print (1,” “,2,” “,3,” “,”4,” “,5)

说明:1之后的逗号,会产生一个空格,加上指定输出的空格和2之前的逗号产生的空格,一共隔了3个空格。Python学习资料或者需要代码、视频加这个群吧548加上377还有875 都在这里了。

【输入形式】
输入一个5位的整数
【输出形式】
输出各数位,数位之间间隔3个空格。
【样例输入】
12345
【样例输出】
1  2  3  4  5

知识点

输入整数
类型转换
整除、求余运算
打印输出

参考答案

解法1:

wws = int(input())
w1 = wws // 10000
w2 = (wws - w1 * 10000) // 1000
w3 = (wws - w1 * 10000 - w2 * 1000) // 100
w4 = (wws - w1 * 10000 - w2 * 1000 - w3 * 100 ) // 10
w5 = wws % 10
print(w1, " ", w2, " ", w3, " ", w4, " ", w5)1234567

上述解法中,//是整除运算符。%是求余运算符。注意,//不能写作/。后者是浮点数除法,运算结果是浮点数。

解法2

wws = int(input())
w5 = wws % 10 #最低位
ws4 = wws // 10 #高4位
w4 = ws4 % 10 #倒数第2位
ws3 = ws4 // 10 #高3位
w3 = ws3 % 10
ws2 = ws3 // 10 #高2位
w2 = ws2 % 10
ws1 = ws2 // 10 #高1位
w1 = ws1

print(w1, " ", w2, " ", w3, " ", w4, " ", w5)123456789101112

解法2利用不断整除10,依次求出最高4位数,最高3位数、最高2位数和最高1位数,然后对10求余,即得到各个数位。
如果用while循环的话,代码可以明显缩短。我们后面会讲while循环。

代码格式

好的代码格式帮助人们(包括写作者自己)阅读代码,减少犯错几率。
强烈建议安装以下规则来书写代码。

  1. 运算符、赋值号(=)两边各留一个空格。
  2. 逗号后留一个空格。

相关文章

网友评论

    本文标题:百道Python入门级练习题(新手友好)第六回合——五位数数位

    本文链接:https://www.haomeiwen.com/subject/lyouzftx.html