如果在循环中满足某个条件,如何返回参数?

时间:2017-03-20 16:30:04

标签: python list for-loop while-loop min

char Oprt;
cout << "\nPlease enter first number: ";
cin >> num1;
cout << "Please enter second number: ";
cin >> num2;
cout << "Now please enter operator: ";
cin >> Oprt;
while (Oprt != '+' && Oprt != '-' && Oprt != '*' && Oprt != '/')
{
    cout << "Wrong Operator please enter again: ";
    cin >> Oprt;
}

此代码打印出类似:

的内容
import random


def lottery(lucky_numbers, run):
    i = 0
    while i < run:
        x = random.uniform(0, 1) #prints out a random number between 0 and 1
        numbers = lucky_numbers
        NewNumbers = numbers[-1:] + numbers[:-1] #shifts each element in the to the right
        lucky_numbers = NewNumbers
        print(lucky_numbers, x)
        i += 1

lottery([1, 2, 0], 3)

x值总是不同,因为它们是介于0和1之间的随机数。

我试图添加一个函数,说明如果x是循环中的最小值(min),那么程序应该打印该迭代的列表,例如在这种情况下,此循环中x的最低值是0.33016179 ..,程序应该打印列表[0,1,2]

3 个答案:

答案 0 :(得分:1)

我只是将信息保存在变量中并在循环结束后打印出来:

import random

def lottery(lucky_numbers, run):
    i = 0
    min_x = 1
    while i < run:
        x = random.uniform(0, 1) #prints out a random number between 0 and 1           
        numbers = lucky_numbers
        NewNumbers = numbers[-1:] + numbers[:-1] #shifts each element in the to the right
        lucky_numbers = NewNumbers
        if x < min_x:
            min_x = x
            min_lucky_numbers = lucky_numbers
        i += 1        
    print(min_lucky_numbers, min_x)

lottery([1, 2, 0], 3)

答案 1 :(得分:1)

您可以创建一个&#34;缓存&#34;存储所有x值然后调用最低值。

cache = []
for _ in range(3):
    x = random.uniform(0, 1)
    cache.append(x)
print min(cache)

答案 2 :(得分:0)

要做你想做的事,你只需将你的物品存放在两个不同的列表中,对它们进行排序并显示每个列表中的第一个元素:

import random

luckiest_num = list()
luckiest_list = list()
def lottery(lucky_numbers, run):
    i = 0
    while i < run:
        x = random.uniform(0, 1) 
        numbers = lucky_numbers
        NewNumbers = numbers[-1:] + numbers[:-1] 
        print(NewNumbers, x)
        i += 1
        luckiest_num.append(x)
        luckiest_list.append(NewNumbers)

lottery([1, 2, 0], 3)
luckiest_num.sort()
luckiest_list.sort()

print ("The luckiest item is : ")
print(luckiest_num[0],luckiest_list[0])