Python统计1,99正整数区间所有数中,0到9出现的次数
时间: 2024-03-11 19:47:30 浏览: 72
同样可以使用循环和字符串处理来解决这个问题,代码和上面类似。具体实现如下:
```python
# 初始化每个数字的出现次数为0
counts = [0] * 10
for num in range(1, 100):
# 将数字转换为字符串,便于遍历每个数字
str_num = str(num)
for digit in str_num:
# 将字符串中的每个数字转换为整数,统计出现次数
counts[int(digit)] += 1
# 输出每个数字的出现次数
for i in range(10):
print("{}出现了{}次".format(i, counts[i]))
```
程序遍历了1到99的所有数字,统计每个数字中0到9出现的次数,并输出了每个数字的出现次数。
相关问题
从键盘输入一个int型的正整数n(已知:0<n<10000),编写程序判断n落在哪个区间。如果用户输入的数据不在指定的范围里,程序输出 "error!"。例如,输入265,则该数属于区间 100-999。
可以按照以下步骤编写程序:
1. 从键盘输入一个int型的正整数n;
2. 判断n是否在指定的范围里,如果不在,输出"error!";
3. 如果n在指定的范围里,根据n的位数判断它属于哪个区间,输出区间范围。
具体实现可以参考以下代码:
```python
n = int(input("请输入一个正整数:"))
if n <= 0 or n >= 10000:
print("error!")
else:
if n < 10:
print("1-9")
elif n < 100:
print("10-99")
elif n < 1000:
print("100-999")
else:
print("1000-9999")
```
以上代码中,首先从键盘输入一个正整数n,然后判断n是否在指定的范围里。如果n不在指定的范围里,输出"error!";否则,根据n的位数判断它属于哪个区间,并输出区间范围。
给定N个学生的基本信息,包括学号(由12个数字组成的字符串)、姓名(长度小于20的不包含空白字符的非空字符串)、高等数学成绩、C语言程序设计成绩,成绩均为[0,100]区间内的整数,要求根据C语言的成绩,对学生名单进行降序排列。 输入格式: 输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 高等数学成绩 C语言程序设计成绩”,中间以空格分隔。 输出格式: 按照C语言课程程序降序,输出所有学生信息,一行是一个学生的信息,信息之间用空格隔开。 输入样例: 4 201410300106 wanyun 70 78 201618050322 zhangyu 59 60 201509210118 lixiao 80 99 201618050323 zhangli 79 88 输出样例: 201509210118 lixiao 80 99 201618050323 zhangli 79 88 201410300106 wanyun 70 78 201618050322 zhangyu 59 60
以下是Python的代码实现:
```python
n = int(input()) # 输入学生数量
students = [] # 存储学生信息的列表
# 循环输入每个学生的信息
for i in range(n):
info = input().split() # 每个学生的信息以空格分隔输入
num, name, score_math, score_c = info[0], info[1], int(info[2]), int(info[3])
# 将学生信息存储到列表中
students.append({'num': num, 'name': name, 'score_math': score_math, 'score_c': score_c})
# 根据C语言成绩对学生列表进行降序排序
students.sort(key=lambda x: x['score_c'], reverse=True)
# 输出排序后的学生信息
for student in students:
print('{0} {1} {2} {3}'.format(student['num'], student['name'], student['score_math'], student['score_c']))
```
代码的思路是先输入学生数量,再循环输入每个学生的信息,并将学生信息存储到一个列表中。然后,通过一次排序将学生列表按照C语言成绩进行降序排列,最后输出排序后的学生信息即可。
阅读全文