我目前正在使用 Python 创建一个程序,该程序接受用户输入的两位数,并将在单行上输出这些数字。
例如:我的程序会从用户那里得到一个数字,让我们使用 27
我希望我的程序能够打印“第一个数字是 2”和“第二个数字是 7”我知道我将不得不使用模块 (%),但我对此很陌生,有点困惑!
我目前正在使用 Python 创建一个程序,该程序接受用户输入的两位数,并将在单行上输出这些数字。
例如:我的程序会从用户那里得到一个数字,让我们使用 27
我希望我的程序能够打印“第一个数字是 2”和“第二个数字是 7”我知道我将不得不使用模块 (%),但我对此很陌生,有点困惑!
尝试这个:
val = raw_input("Type your number please: ")
for i, x in enumerate(val, 1):
print "#{0} digit is {1}".format(i, x)
从您的问题中不清楚您是要%
用于字符串替换还是%
用于余数。
为了完整起见,在整数上使用模运算符的数学方法如下所示:
>>> 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
把这两位数字想象成一个字符串。这样更容易抓住每个数字。使用 str() 会将整数更改为字符串。模数允许您将这些字符串放入您的文本中。
假设用户在名为 num 的变量中输入 27,代码为:
print 'The first digit is %s and the second digit is %s' % (str(num)[0], str(num)[1])
Python的另一种编码方式:
val = raw_input("Type your number please: ")
for i in list(val):
print i
注意:val
读作字符串。对于整数操作,请list(str(integer-value))
改用
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])
你不需要模块来解决这个问题。