5

我目前正在使用 Python 创建一个程序,该程序接受用户输入的两位数,并将在单行上输出这些数字。

例如:我的程序会从用户那里得到一个数字,让我们使用 27

我希望我的程序能够打印“第一个数字是 2”和“第二个数字是 7”我知道我将不得不使用模块 (%),但我对此很陌生,有点困惑!

4

5 回答 5

2

尝试这个:

val = raw_input("Type your number please: ")
for i, x in enumerate(val, 1):
    print "#{0} digit is {1}".format(i, x)
于 2013-03-22T05:06:32.107 回答
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
于 2013-03-22T05:13:14.350 回答
0

把这两位数字想象成一个字符串。这样更容易抓住每个数字。使用 str() 会将整数更改为字符串。模数允许您将这些字符串放入您的文本中。

假设用户在名为 num 的变量中输入 27,代码为:

print 'The first digit is %s and the second digit is %s' % (str(num)[0], str(num)[1])
于 2013-03-22T05:14:12.703 回答
0

Python的另一种编码方式:

val = raw_input("Type your number please: ")
for i in list(val):
    print i

注意:val读作字符串。对于整数操作,请list(str(integer-value))改用

于 2013-03-22T06:01:29.967 回答
0
two_digit_number = input("Type a two digit number: ")
print("The first digit is " + two_digit_number[0] + " The second digit is " + 
two_digit_number[1])

你不需要模块来解决这个问题。

于 2022-01-23T08:01:08.840 回答