我目前正在使用Python创建一个程序,该程序接受两位数字的用户输入,并在一行中输出数字。
例如: 我的程序会从用户那里得到一个号码,让我们只使用27
我希望我的程序能够打印“第一个数字是2”和“第二个数字是7” 我知道我将不得不使用模块(%),但我是新手,有点困惑!
答案 0 :(得分:2)
试试这个:
val = raw_input("Type your number please: ")
for i, x in enumerate(val, 1):
print "#{0} digit is {1}".format(i, x)
答案 1 :(得分:1)
从您的问题中不清楚您是希望使用%
进行字符串替换,还是%
进行余下搜索。
为了完整性,在整数上使用模数运算符的数学方法如下所示:
>>> val = None
>>> while val is None:
... try:
... val = int(raw_input("Type your number please: "))
... except ValueError:
... pass
...
Type your number please: potato
Type your number please: 27
>>> print 'The first digit is {}'.format(val // 10)
The first digit is 2
>>> print 'The second digit is {}'.format(val % 10)
The second digit is 7
答案 2 :(得分:0)
将两位数看作是一个字符串。以这种方式抓取每个数字更容易。使用str()会将整数更改为字符串。 Modulos允许您将这些字符串放入文本中。
假设用户在名为num的变量中输入27,则代码为:
print 'The first digit is %s and the second digit is %s' % (str(num)[0], str(num)[1])
答案 3 :(得分:0)
另一种编码Python的方法:
val = raw_input("Type your number please: ")
for i in list(val):
print i
注意:val
被读为字符串。对于整数操作,请使用list(str(integer-value))
代替