满足条件时终止的循环

时间:2020-06-01 17:41:13

标签: python

我正在做一些python练习,并且对此问题感到困惑。我已经弄清楚了如何执行所有操作,但是不知道如何创建终止循环,我们将不胜感激。

问题: 编写一个程序,该程序生成1到15之间的2个数字。按从大到小的顺序显示它们。显示数字的总和。该程序应继续进行,直到生成的随机数相同为止。在程序显示的结尾,将生成所有数字的总和。

from random import randint

numberOne = randint(1, 15)
numberTwo = randint(1, 15)

print("Your two random numbers are: ", numberOne, numberTwo)
print()

if (numberOne > numberTwo):
    biggest_num = numberOne
elif (numberTwo > numberOne):
    biggest_num = numberTwo

if (numberOne < numberTwo):
    smallest_num = numberOne
elif (numberTwo < numberOne):
    smallest_num = numberTwo

print("From biggest to smallest, the two random numbers are: ", biggest_num, smallest_num)
print("The sum of the two numbers is: ", numberOne + numberTwo)

3 个答案:

答案 0 :(得分:0)

这应该可以完成

import random
numberOne = 0
numberTwo = 1


while numberOne != numberTwo:
    numberOne = random.randint(1, 15)
    numberTwo = random.randint(1, 15)

    print('\nYour two numbers are:', numberOne, numberTwo)

    if numberOne > numberTwo:
        largest = numberOne
        smallest = numberTwo
    else:
        largest = numberTwo
        smallest = numberOne

    print('From largest to smallest, the two random numbers are:', largest, smallest)
    print('The sum of the two numbers is:', numberOne + numberTwo)

答案 1 :(得分:0)

最简单的方法是使用break

的无限循环
from random import randint

total_sum = 0

while True:
    numberOne = randint(1, 15)
    numberTwo = randint(1, 15)

    print("Your two random numbers are: ", numberOne, numberTwo)
    print()

    if numberOne == numberTwo:
        break

    if numberOne > numberTwo:
        biggest_num = numberOne
    elif numberTwo > numberOne:
        biggest_num = numberTwo

    if numberOne < numberTwo:
        smallest_num = numberOne
    elif numberTwo < numberOne:
        smallest_num = numberTwo

    print("From biggest to smallest, the two random numbers are: ", biggest_num, smallest_num)
    print("The sum of the two numbers is: ", numberOne + numberTwo)
    total_sum += numberOne + numberTwo

print('Total sum:', total_sum)

答案 2 :(得分:0)

import random

numbers = set()
while(True):
    numberOne = random.randint(1, 15)
    numberTwo = random.randint(1, 15)
    numbers.update([numberOne,numberTwo])
    if (numberOne==numberTwo):
        break
    print("From biggest to smallest, the two random numbers are: ",sorted([numberOne,numberTwo],reverse=True))
    print("The sum of the two numbers is: ",sum([numberOne,numberTwo]))
print('--------------------------------------------------------------')
print("From biggest to smallest, all random numbers are: ",sorted(list(numbers),reverse=True))
print("The sum of all numbers is: ",sum(numbers))