利用python输入一个整数,求该整数上的各位数是否包含数字5,若有,则按从低到高的顺序输出第几位,若没有则输出-1
时间: 2023-06-08 20:04:41 浏览: 78
可以使用以下代码实现:
```
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,若有,则按从低到高的顺序输出第几位
可以使用字符串的操作来实现对整数各位数的检查和输出。具体实现如下:
```
num = input("请输入一个整数:") # 接受用户输入的整数
has_five = False # 标记整数中是否包含数字 5
for i, n in enumerate(num): # 遍历各位数字
if n == '5': # 如果有 5
has_five = True # 标记为 True
print(i+1) # 输出当前数字所在的位数
if not has_five: # 如果整数中没有 5
print("该整数上的各位数不包含 5。")
```
首先,使用 `input()` 函数接受用户输入的整数,并将其存储为字符串类型的变量 `num`。
接下来,定义一个布尔变量 `has_five`,用于标记整数中是否包含数字 5,初始值为 `False`。
然后,使用 `enumerate()` 函数遍历 `num` 中的各个字符,其中 `enumerate()` 函数用于同时返回每个字符的索引和值。对于每个字符,如果它的值为 5,则将 `has_five` 标记为 `True`,并在下一行输出它的所在位置(索引加一即为它在整数中的位数)。
最后,如果整个循环结束后 `has_five` 的值仍为 `False`,说明整数中不存在数字 5,即可输出提示信息。
输入一个整数,求该整数上的各位数是否包含数字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"。