python 提示用户输入5个整数并按相反顺序输出这些整数的程序

xbp102n0  于 2022-12-17  发布在  Python
关注(0)|答案(6)|浏览(223)

我需要这个Python程序的帮助。
输入如下:

Enter number: 1​
Enter number: 2​
Enter number: 3​
Enter number: 4​
Enter number: 5​

程序必须输出:

Output: 54321​

我的代码是:

n = 0
t = 1
rev = 0
 
while(t <= 5):
    n = int(input("Enter a number:"))
    t+=1
    a = n % 10
    rev = rev * 10 + a
    n = n // 10
print(rev)

它的输出是“12345”而不是“54321”。
我应该改变什么?

0yg35tkg

0yg35tkg1#

试试这个:

t = 1
rev = ""
 
while(t <= 5):
    n = input("Enter a number:")
    t+=1
    rev = n + rev

print(rev)
gwbalxhn

gwbalxhn2#

试试看:

x = [int(input("Enter a number")) for t in range(0,5)]
print(x[::-1])
kxeu7u2r

kxeu7u2r3#

如果你创建一个列表并将所有值添加到其中,然后像这样反向打印,可能会有一个更简单的方法:

my_list = []
while(t <= 5):
    n = int(input("Enter a number:"))
    t+=1
    my_list.append(n)
my_list.reverse()
for i in range(len(my_list)):
    print(my_list[i])
efzxgjgh

efzxgjgh4#

你可以试试这个:

n = 0
t = 1
rev = []
 
while(t <= 5):
    n = int(input("Enter a number:"))
    t+=1
    rev.append(n)
rev.reverse()
rev = ''.join(str(i) for i in rev)
print(rev)
6ie5vjzr

6ie5vjzr5#

维护数字上下文:使用“10自乘到t”(10^t)

这段代码与您的解决方案没有太大区别,因为它继续处理整数,并将rev作为整数返回:

t = 0
rev = 0

while (t < 5):
    n = int(input("Enter a number:"))
    # ** is the Python operator for 'mathematical raised to'
    rev += n * (10 ** t)
    t += 1
print(rev)

(10 ** t)是执行10^t的Python形式(10的t次方);* 在此上下文中,其用作向左的位置移位 *。
缺陷
与此程序发生:如果您插入整数0作为最后一个值,则它不会出现在输出中。

示例:对于输入数字12340,输出是数字4321

如何用zfill()方法解决缺陷

如果你想把结果作为字符串而不是整数来管理,我们可以用字符串方法zfill()在字符串的开头加零。
在此上下文中,zfill()方法用零填充字符串,直到字符串长度达到5个字符。
修改后的程序如下所示:

NUM_OF_INTEGER = 5
t = 0
rev = 0

while (t < NUM_OF_INTEGER):
    n = int(input("Enter a number: "))
    rev += n * (10 ** t)
    t += 1
# here I convert the number 'rev' to string and apply the method 'zfill'
print(str(rev).zfill(NUM_OF_INTEGER))

对于输入为"12340"的上一个代码,输出为字符串"04321"

iecba09b

iecba09b6#

n = int(input("How many number do you want to get in order? "))

    list1 = []

    for i in range(n):
        num = int(input("Enter the number: "))
        thislist = [num]
        list1.extend (thislist)

    list1.sort()
    print ("The ascending order of the entered numbers, is: " ,list1)

    list1.sort (reverse = True)
    print ("The descending order of the entered numbers, is: " ,list1)

相关问题