Python使用循环结构编写:输入一个整数,将整数中的数字反转,并在控制打印出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python使用循环结构编写:输入一个整数,将整数中的数字反转,并在控制打印出来?相关的知识,希望对你有一定的参考价值。

参考技术A n = eval(intpu())
res = 0
while n > 0:
res = res * 10 + n %10

n = n // 10

print(res)本回答被提问者和网友采纳

使用循环让用户输入一个整数 10 次然后得到最小值

【中文标题】使用循环让用户输入一个整数 10 次然后得到最小值【英文标题】:using a loop get a user to input an integer 10 times then get the minimum 【发布时间】:2015-01-08 20:42:10 【问题描述】:

我有一个家庭作业,我需要使用一个循环编写一个程序,该循环从用户那里获取 10 个整数值并输出所有输入值中的最小值。

这是我得到的:

import java.util.Scanner;

public class Num52

    public static void main (String [] args )
    

   int value;
   int minValue;

   Scanner scan = new Scanner(System.in);

   for( int i = 0; i < 10; i++ )
   

      System.out.print( "Enter a number as an integer > " );   

      value = scan.nextInt( );

      if( value < minValue )

      minValue = value;

      

      System.out.println( "The minimum number is " + minValue );


  
 

【问题讨论】:

好的。到目前为止,您取得了什么成就? 我们不会为你做功课;发布您已经尝试或研究过的内容。 不好意思,输入之前不小心发了! 好的,那你有什么问题? 一直说 minValue 还没有初始化,但是我需要得到最小值而不给它一个像 1000 之类的初始数值。 【参考方案1】:

您忘记初始化 minValue。

在你的 for 循环中试试这个

if (i == 0)
    minValue = value;

或者你可以像这样在for循环之前初始化

minValue = Interger.MAX_VALUE; //This is more efficient code.

【讨论】:

这是一种糟糕的编码方式。因为这只是 10 次迭代,所以没问题。否则会影响性能。 @StackFlowed 你能建议一个更好的解决方案吗?在您的回答中,您做了完全相同的事情,甚至还提供了一个效率较低的版本。我认为这是完全可以接受的。 @StackFlowed 我怀疑他的导师是否关心这句话的性能影响。还有很多其他的东西会引入比这更多的开销。甚至不知道为什么你觉得有必要提出来。 @jonogilmour 如果您对代码效率有所了解,您就不会这么说。请尝试运行这两个代码 10^8 次并查看时间差异。我初始化了变量。而且我不会在循环中比较它。 @AndySenn 使用 Java 就是这样一种开销。这显然是一个“学习 Java”类,而不是算法类。【参考方案2】:

你必须初始化minValue,最好是高一点的,比如Integer.MAX_VALUE

【讨论】:

【参考方案3】:

你必须给你的minValue 一个初始值。我建议Integer.MAX_VALUE。另外,你也可以使用Math.min(int, int) like

public static void main(String[] args) 
    int minValue = Integer.MAX_VALUE;
    Scanner scan = new Scanner(System.in);
    for (int i = 0; i < 10; i++) 
        System.out.print("Enter a number as an integer > ");
        System.out.flush();
        minValue = Math.min(scan.nextInt(), minValue);
    
    System.out.println("The minimum number is " + minValue);

【讨论】:

【参考方案4】:

您需要将minValue 初始化为用户不会输入的某个最大值。为了更好的安全性,你应该初始化为Integer.MAX_VALUE

【讨论】:

【参考方案5】:

您希望从正确的 minValaue 值开始。我们应该将其设置为 MAX_VALUE

public static void main (String [] args )
    
   int value;
   int minValue=Interger.MAX_VALUE;
   Scanner scan = new Scanner(System.in);
   for( int i = 0; i < 10; i++ )
   
      System.out.print( "Enter a number as an integer > " );   
      value = scan.nextInt( );
      if( value < minValue ) 
          minValue = value;
      
   
   System.out.println( "The minimum number is " + minValue );

【讨论】:

【参考方案6】:
if( value < minValue )

您的 minValue 未初始化,因为它是本地的。您正在将价值与任何东西进行比较。如果要获取 int 变量的默认值 0,请将其设为全局变量。否则,给它你自己的默认值,也许 Integer.MAX_VALUE 作为其他答案的建议。

【讨论】:

【参考方案7】:

您忘记使用起始编号初始化您的 minValue 变量。最好的办法是使用Integer.MAX_VALUE 对其进行初始化,如下所示:

int minValue = Integer.MAX_VALUE;

此外,您应该稍微改变获取整数的方式,如下所示:

value = Integer.parseInt(scan.nextLine());

【讨论】:

以上是关于Python使用循环结构编写:输入一个整数,将整数中的数字反转,并在控制打印出来?的主要内容,如果未能解决你的问题,请参考以下文章

Python循环结构程序设计

Python语言编写程序,将两个整数a和b合并成一个整数放到c里面,并打印出来?

python 求乘积

python编写程序,利用元组作为函数的返回值,求系列类型的最大值、最小值和元素个数

特有的循环结构(for-elsewhile-else)——Python篇

使用循环让用户输入一个整数 10 次然后得到最小值