利用python输入一个整数,求该整数上的各位数是否包含数字5,若有,则按从低到高的顺序输出第几位,若没有则输出-1
时间: 2023-06-08 07:04:41 浏览: 138
可以使用以下代码实现:
```
num = int(input("请输入一个整数:"))
num_str = str(num)
flag = False
digit_list = []
for i in range(len(num_str)):
if num_str[i] == '5':
flag = True
digit_list.append(i+1)
if flag == True:
print("该整数包含数字5,第", end='')
for digit in digit_list:
print(digit, end='')
if digit != digit_list[-1]:
print(",", end='')
print("位。")
else:
print("-1")
```
主要思路是将整数转换成字符串,遍历每一位数,如果该位值为5,则将flag标记为True,同时将该位数的位置存储在digit_list中。最后根据flag的值输出对应的结果。
相关问题
Python 输入一个整数,求该整数上的各位数是否包含数字5,若有,则按从低到高的顺序输出第几位,若没有则输出-1
示例:
输入:34578
输出:2 3
解释:34578中的第2位和第3位包含数字5。
输入:123
输出:-1
解释:123中不包含数字5。
以下是一种可能的实现方式:
```python
n = int(input())
has_five = False
for i, digit in enumerate(str(n)):
if digit == '5':
has_five = True
print(i + 1, end=' ')
if not has_five:
print(-1)
```
输入一个整数,求该整数上的各位数是否包含数字5,若有,则按从低到高的顺序输出第几位,若没有则输出-1 python
好的,以下是判断整数上各位数是否包含数字5,并输出第几位的Python代码:
```python
num = input("请输入一个整数:") # 输入的整数
flag = False # 初始化标记为False
pos = [] # 初始化位置列表
for i, n in enumerate(num): # 遍历整数的每一位
if n == '5': # 如果该位为5
flag = True # 将标记设为True
pos.append(str(i+1)) # 将该位的位置添加到位置列表中
if flag:
print("该整数上包含数字5,位置为:" + ",".join(pos))
else:
print("-1")
```
代码中,我们用一个标记flag来记录整数上是否有数字5,如果有,则将标记设为True,并且将数字5出现的位置添加到位置列表pos中。最后,将位置列表中的元素用逗号连接起来输出。如果整数上没有数字5,则直接输出-1。
例如,如果您输入的整数为123542,则输出结果为:"该整数上包含数字5,位置为:5"。
阅读全文