• python函数调用之自我调用与C++比较


    C++下的函数自我自我调用

      第一种方法

      

     1 #include <iostream>
     2 using namespace std;
     3 
     4 int rel_do(){
     5 
     6     int a;
     7     cout<<"please input :";
     8     cin>>a;
     9     if(a==1) {
    10             cout<<a;
    11             return 1;
    12     }
    13     else if(a==2) {
    14             cout<<a;
    15             return 1;
    16     }
    17
    
    

      第二种方法

     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 int rel_do(){
     6 
     7     int a;
     8     cout<<"please input :";
     9     cin>>a;
    10     if(a==1) {
    11             cout<<a;
    12             return 1;
    13 
    14     }
    15     else if(a==2) {
    16             cout<<a;
    17             return 1;
    18 
    19     }
    20     else {
    21             cout<<"input error!!!"<<endl;
    22             rel_do();
    23 
    24     }
    25 }
    26 
    27 
    28 int main(){
    29 
    30     rel_do();
    31 
    32     return 0;
    33 }

        

      两种方法比较可以发现,rel_do()方法中,调用rel_do方法前加不加return都可以正常运行。

    而在python中必须使用return。否则返回None,并且不报错

      

     1 def real_do():
     2     do = input('1:确认
    '
     3                '2:取消' )
     4     if do == '1':
     5         return 1
     6     elif do == '2':
     7         return 2
     8     else:
     9         return real_do()
    10 
    11 print(real_do())

    在Java中,return可以放在rel_do()方法前面也可以放在函数最后返回1.

     1 package javazero;
     2 
     3 import java.util.Scanner;
     4 
     5 public class Test {
     6 
     7     public static void main(String[] args) {
     8         // TODO Auto-generated method stub
     9         rel_do();
    10 
    11     }
    12     static int rel_do(){
    13         Scanner scanner = new Scanner(System.in);
    14         System.out.println("please input :");
    15         int a;
    16         a=scanner.nextInt();
    17         if(a==1) {
    18             System.out.println(a);
    19             return 1;
    20 
    21         }
    22         else if(a==2) {
    23             System.out.println(a);
    24                 return 1;
    25 
    26         }
    27         else {
    28             System.out.println("input error!!");
    29               rel_do();
    30 
    31         }
    32         
    33         return 1;
    34     }
    35 
    36 }
     1 package javazero;
     2 
     3 import java.util.Scanner;
     4 
     5 public class Test {
     6 
     7     public static void main(String[] args) {
     8         // TODO Auto-generated method stub
     9         rel_do();
    10 
    11     }
    12     static int rel_do(){
    13         Scanner scanner = new Scanner(System.in);
    14         System.out.println("please input :");
    15         int a;
    16         a=scanner.nextInt();
    17         if(a==1) {
    18             System.out.println(a);
    19             return 1;
    20 
    21         }
    22         else if(a==2) {
    23             System.out.println(a);
    24                 return 1;
    25 
    26         }
    27         else {
    28             System.out.println("input error!!");
    29               return rel_do();
    30 
    31         }
    32        
    33     }
    34 
    35 }
  • 相关阅读:
    Android开发学习之路-使用Handler和Message更新UI
    Android开发学习之路-Service和Activity的通信
    Android开发学习之路-自定义ListView(继承BaseAdapter)
    URI、URL、URN
    理解 node.js 的事件循环
    创建hexo风格的markdown页面
    heroku
    js通过沿着作用域链还是原型链查找变量
    浏览器中实现3D全景浏览
    数据可视化图表ECharts
  • 原文地址:https://www.cnblogs.com/qingkongwuyun/p/8296501.html
Copyright © 2020-2023  润新知