Python随机产生10个70-100的数并输出,找出其中的最小值及其第一次出现的位置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python随机产生10个70-100的数并输出,找出其中的最小值及其第一次出现的位置?相关的知识,希望对你有一定的参考价值。
import randomrandom_numbers = []
for i in range(10):
random_numbers.append(random.randint(70, 100))
min_value = min(random_numbers)
min_index = random_numbers.index(min_value)
print("随机数列表:", random_numbers)
print("最小值:", min_value)
print("最小值的位置:", min_index) 参考技术A import random;
arr=random.sample([j for j in range(70,101)],10)#random.sample(list,countRandom);
arra=[random.randint(70,100) for j in range(10)]#random.randint(start_number,end_number);
print(f"arr=\nmin(arr)=\narr.index(min(arr))=")
print(f"arra=\nmin(arra)=\narra.index(min(arra))=")
利用折半查找法去找一个有序数组中你要找的数并输出
从一个数组中寻找你要找的数并输出角标其中一种解决方法便是遍历数组找到你要的那个数。
#include<stdio.h>
int main()
int a[] = 1, 2, 3, 4, 5, 6, 7, 8, 9 ,flag=0;
int sz = sizeof(a) / sizeof(a[0]);//这一步的目的就是求出这个数组的长度。
int b,d=0;
scanf("%d", &b);
for (int i = 0; i <= sz; i++)
if (a[i] == b)
flag = 1;
d = i;
printf("找到了角标是%d", d);
break;
if (flag == 0)
printf("没有找到");
return 0;
而折半查找法就是找到最左边(对应角标值为0)和最右边的角标(对应的角标值为数组长度-1)将两者的角标相加除以2得到中间角标然后运用中间角标的数组值与要查找的数比较大小.。然后不断的进行这一过程若要找的数存在于数组中那便一定会找到。(这个方法只适用于有序数组)
#include<stdio.h>
int main()
int a[] = 1, 2, 3, 4, 5, 6, 7, 8, 9 ;
int sz = sizeof(a) / sizeof(a[0]);
int k,j=0;
scanf("%d", &k);//k表示要查找的值
int right = sz - 1;//求出最右边的角标值
int left = 0;//求出最左边的角标值
int flag = 0;
for (left = 0, right = sz - 1; left <= right;)
int mid = left + (right - left) / 2;//这里不用(left+right)/2是因为若这个数组很大那么left和right在之后也会很大那么很可能会超过整形的储存大小导致部分数据丢失那mid就不是中间值了这个的语句的意思就是用大的数据减去小的数据得到了两者数据的差值之后将差值除以2再与小的值相加也能得到中间值
if (a[mid] < k)
left = mid + 1;//这里的目的是提前一位因为if条件这个代表所选值大于中间值那么中间值不为要找的值要找的值又比它大故加一下面原理相同
else if (a[mid]>k)
right = mid - 1;
else
flag = 1;
j = mid;
printf("找到了角标是%d\\n", j);
break;
if (flag == 0)//flag的值只有在循环中出现数组的值与k相同才会改变flag的值
printf("没有找到\\n");
return 0;
运行结果
以上是关于Python随机产生10个70-100的数并输出,找出其中的最小值及其第一次出现的位置?的主要内容,如果未能解决你的问题,请参考以下文章
java中怎么求随机产生50个10以内的整数,输出其中重复次数最多的数?
js小案例---1.随机10不重复10数并排序2.一次输入10数并输出和