python编程定义了一个循环,该循环要求名称、数字和要跳过的数字
循环,请求名称、数字和要跳过的数字。 输入您的姓名:Alex 输入您的起始号码:5 你想跳过哪个号码:3 你还有更多的数字要跳过吗(是/否):是 请仅输入Y或N。 你有更多的号码要跳过吗(是/否):是 您想跳过哪个号码:1 您是否有更多数字要跳过(是/否):N 亚历克斯从5开始数数。 开始 5.4.2.0! 我的代码如下,但我认为任何人都可以更改它,因为我的代码看起来不太好:python编程定义了一个循环,该循环要求名称、数字和要跳过的数字,python,loops,count,Python,Loops,Count,循环,请求名称、数字和要跳过的数字。 输入您的姓名:Alex 输入您的起始号码:5 你想跳过哪个号码:3 你还有更多的数字要跳过吗(是/否):是 请仅输入Y或N。 你有更多的号码要跳过吗(是/否):是 您想跳过哪个号码:1 您是否有更多数字要跳过(是/否):N 亚历克斯从5开始数数。 开始 5.4.2.0! 我的代码如下,但我认为任何人都可以更改它,因为我的代码看起来不太好: text = input("Enter your name: ") print(text) text
text = input("Enter your name: ")
print(text)
text1 = input("Input your starting number:")
number1 = int(text1)
text2 = input("What number do you want to skip:")
number2 = int(text2)
def count_down_skip(start, skip=0):
return [num for num in reversed(range(start + 1)) if num != skip]
print("... ".join(map(str, count_down_skip(5, 3))) + "!")
def yes_or_no(question):
reply = str(input(question+' (y/n): ')).lower().strip()
if reply[0] == 'y':
return 1
elif reply[0] == 'n':
return 0
else:
return yes_or_no("Please only input Y or N. ")
while True:
# DRAW PLOT HERE;
if(yes_or_no('Do you have more numbers to skip')):
break
text3 = input("What number do you want to skip:")
number3 = int(text2)
def count_down_skip(start, skip=0):
"""
Counting down a sequence with a skip value,
from a defined start point in reversed order.
Args:
start: start loop index.
skip: number to skip over.
Returns:
(list): skipped list.
"""
return [num for num in reversed(range(start + 1)) if num != skip]
print("... ".join(map(str, count_down_skip(5, 1))) + "!")
def yes_or_no(question):
reply = str(input(question+' (y/n): ')).lower().strip()
if reply[0] == 'y':
return 0
elif reply[0] == 'n':
return 1
else:
return yes_or_no("Please only input Y or N. ")
while True:
# DRAW PLOT HERE;
if(yes_or_no('Do you have more numbers to skip')):
break
print("Alex is starting to count from 5")
print("start")
#print("... ".join(map(str, count_down_skip(5, 1))) + "!")
def count_down_skip(start, skip = []):
return [num for num in reversed(range(start + 1)) if num not in skip]
print("... ".join(map(str,count_down_skip(5,[1,3]))) + "!")
def count_down_skip(start, skip=0):
return [num for num in reversed(range(start + 1)) if num not in skip]
print("... ".join(map(str, count_down_skip(10, [1,4,3]))) + "!")
我想如果我想跳过一些数字,比如从10到0,而不使用143,我应该使用类似number()或int()的东西,对吗?有人能帮我修改代码吗?它可以工作,但有一点不完美。很好的尝试,我会这样做,请参见以下内容:
def main():
skipable = set()
name = input("What is your name?")
max_number = input("What number do you want to count down from?")
if type(int(max_number)) != int:
raise Exception('You done messed up, please enter an integer next time')
max_number = int(max_number)
skipping = True
while skipping:
skip = input("Would you like to skip any numbers in the count down? Y/N")
if skip == 'Y':
number_to_skip = input("What number would you like to skip")
try:
number_to_skip = int(number_to_skip)
skipable.add(number_to_skip)
except Exception as e:
print('Try entering an integer next time')
elif skip == 'N':
skipping = False
else:
print('Please Enter Y or N')
numbers_to_print = [i for i in range(0, max_number+1) if i not in skipable]
print(f'{name} is counting:')
numbers_to_print.sort(reverse=True)
print('...'.join(map(str, numbers_to_print)) + '!')
if __name__ == '__main__':
main()
结果如下所示:
What is your name?>? James
What number do you want to count down from?>? 5
Would you like to skip any numbers in the count down? Y/N>? Y
What number would you like to skip>? 2
Would you like to skip any numbers in the count down? Y/N>? N
James is counting:
5...4...3...1...0!
编辑
哦,如果你想让它倒计时,你可以倒下来扔一个:
numbers_to_print.sort(reverse=True)
在那里,它将对列表进行降序排序
编辑2。更改了上面的代码以更好地匹配问题您真是太棒了!结果很好。我在print.sort中添加了数字(reverse=True)。但是如果我希望输出格式是5…4…2…0!打印应该是打印(“…”.join(map(str,i))+“!”)对吗?!是的,这看起来是可行的映射函数需要一个函数和一个可写的,让我修改上面的代码,修改上面的代码,试试看。这有道理吗?你是最棒的!!!!!成功了!非常感谢你!愿你身边所有幸运的事物永永远远!