我正在写一个基本程序来反转任何4位数字。
我知道我采取了一种非常复杂的方法,但那是我教授所要求的。到目前为止,我已经:
print("This program will display any 4-digit integer in reverse order")
userNum = eval(input("Enter any 4-digit integer: "))
num1 = userNum % 10
userNum2 = userNum // 10
num2 = userNum2 % 10
userNum3 = userNum // 100
num3 = userNum3 % 10
userNum4 = userNum // 1000
num4 = userNum4 % 10
print(num1,num2,num3,num4)
我遇到的问题是print语句的输出给了我
x x x x
我希望有什么时候
xxxx
有什么建议吗?
答案 0 :(得分:5)
如果您阅读print()
的说明,可以看到您可以更改最后一行:
print(num1,num2,num3,num4, sep='')
答案 1 :(得分:1)
因为您只想以相反的顺序转换输入。您可以采取以下方法。
print("This program will display any 4-digit integer in reverse order")
userNum = input("Enter any 4-digit integer: ")
reverse_input = userNum[::-1]
reverse_input = int(reverse_input) # If you want to keep input as an int class
print(reverse_input)
如果您想使用自己的代码,只需更改print语句。
print(str(num1) + str(num2) + str(num3) + str(num4))
字符串连接不会增加空间,因此您应该获得所需的结果。
答案 2 :(得分:0)
我把它作为一种练习,让自己能够确定循环。你可以使用几个循环。
#if using python <3
from __future__ import print_function
x = 3456
z = x
print('While:')
while z > 0:
print(z % 10, end="")
z = z / 10;
print()
print('For:')
for y in xrange(4):
z=x%10
print(z, end="")
x = x / 10
感谢您提出这个问题。它鼓励我去看看python语法,我自己,我认为这是一个很好的练习。