用Python代码求:输入一个整数,若为奇数则输出其平方根,否则输出其立方根。要求分别用单分支、双分支
时间: 2024-10-16 11:19:27 浏览: 74
在Python中,你可以使用`math`模块来计算平方根和立方根。以下是两个版本的代码,一个使用单分支结构,另一个使用双分支结构(即if-else):
**单分支结构(使用三元运算符):**
```python
import math
def square_or_cubic(n):
root = math.sqrt(n) if n % 2 == 0 else int(n ** (1/3))
return root
# 示例
num = int(input("请输入一个整数: "))
result = square_or_cubic(num)
print(f"结果是: {result}")
```
**双分支结构(if-else语句):**
```python
import math
def square_or_cubic(n):
if n % 2 == 0: # 如果是偶数
result = math.sqrt(n)
else: # 如果是奇数
result = int(n ** (1/3)) # 注意这里需要转换为整数
return result
# 示例
num = int(input("请输入一个整数: "))
result = square_or_cubic(num)
print(f"结果是: {result}")
相关问题
用Python输入一个整数,若为奇数则输出其平方根,否则输出其立方根。要求分别用单分支和双分支及条件运算实现。
当然可以,我们可以用Python的math库来计算平方根和立方根,并通过if-else结构或者三元运算符来实现这个功能。
单分支实现(使用`math.sqrt()`函数):
```python
import math
num = int(input("请输入一个整数:"))
root = num if num % 2 == 0 else math.sqrt(num)
print(f"如果它是偶数,它的立方根是 {root};如果是奇数,它的平方根是 {root}")
```
双分支实现(使用if-elif结构):
```python
import math
num = int(input("请输入一个整数:"))
if num % 2 == 0:
root = num ** (1/3) # 立方根
else:
root = math.sqrt(num) # 平方根
print(f"{num}如果是偶数,则立方根是 {root};如果是奇数,则平方根是 {root}")
```
三元运算符实现:
```python
import math
num = int(input("请输入一个整数:"))
root = math.sqrt(num) if num % 2 != 0 else num ** (1/3)
print(f"{num}如果是奇数,它的平方根是 {root};如果是偶数,它的立方根是 {root}")
```
输入一个整数,若为奇数则输出其平方根,否则输出其立方根。要求分别用单分支、双分支及条件运算实现java
单分支实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num % 2 == 1) {
System.out.println(Math.sqrt(num));
} else {
System.out.println(Math.cbrt(num));
}
}
}
```
双分支实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num % 2 == 1) {
System.out.println(Math.sqrt(num));
} else if (num % 2 == 0) {
System.out.println(Math.cbrt(num));
}
}
}
```
条件运算实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
String result = (num % 2 == 1) ? String.valueOf(Math.sqrt(num)) : String.valueOf(Math.cbrt(num));
System.out.println(result);
}
}
```
阅读全文