
按照题目要求编写的Python程序如下
import random
numlist=random.sample(range(0,10),5)
while numlist[0]==0:
numlist=random.sample(range(0,10),5)
num=int(''.join([str(i) for i in numlist]))
inputnum=int(input("输入号:"))
bonus=0
count=0
if inputnum==num:
bonus=10000
else:
for i in set(str(inputnum)):
if int(i) in numlist:
count+=1
bonus=1000*count
print("彩票号:%d" % num)
print("奖金:%d元" % bonus)
源代码(注意源代码的缩进)
import java.util.Arraysimport java.util.Random
public class random {
public static void main(String[] args) {
int[] numArray = new int[30]
for(int i=0i<numArray.lengthi++){
numArray[i]=i+1
}
Random random = new Random()
int randomNum = numArray.length-1
int[] array=new int[7]
for(int i=0i<array.lengthi++){
int index = random.nextInt(randomNum--)
array[i]= numArray[index]
int temp=numArray[index]
numArray[index]=numArray[randomNum]
numArray[randomNum]=temp
}
Arrays.sort(array)
for(int i=0i<array.lengthi++){
System.out.print(array[i]+" ")
}
}
说下大致思路,就是先弄一个1-30的数组,然后随机去数组里面取数,取完一次以后把本次取的数据往数组尾部放,并把尾部没选过的数字放到中间来,然后缩小检索数组的范围(这样就不会选到选过的数字了)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)