**已关闭。**此问题为not reproducible or was caused by typos。目前不接受回答。
这个问题是由错字或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
14天前关门了。
Improve this question的
任务如下:创建一个程序,询问用户的出生年份和姓名。程序应该:
调用一个要求用户输入的函数,将信息发送回主函数,调用一个计算年龄的函数,调用该函数打印出他们的年龄,名字的首字母和姓氏。
我尝试了这个
def main():
first = input('Enter your first name: ')
last = input('Enter your last name: ')
year = int(input('What year were you born: '))
again = 'y'
def userInput(first, last, year):
fname = first
lname = last
dob = year
return fname, lname, dob
def calcy(dob):
# age calculator
age = 2023 - dob
return age
def printy(first, last, age):
# Print Statement
print(f'{fname[0]} {lname} is {age} years old.')
#play again
again = input('Play again? (y/n)')
while again == 'y':
first = input('Enter your first name: ')
last = input('Enter your last name: ')
year = int(input('Enter your year of birth: '))
age = 2023 - year
print(f'{first[0]} {last} is {age} years old.')
playagain = input('Play again? (y/n)')
print('Thank you for playing.')
main()
字符串
我似乎不能继续循环,它停止后,第一次输入。我做错了什么?它需要4个功能(主要包括)
1条答案
按热度按时间6qqygrtg1#
你的代码几乎是正确的!你用
def
语句 * 定义了函数对象 *,但你只 * 调用了你的main
函数对象。所以其他函数对象还没有做任何事情。你在程序的最后一行用main()
表达式语句调用了main
函数,为了让它工作,我们想把 * 其他函数调用 * 直接放入我们的main
函数 * 定义 * 的 body 中。所以我们在程序的顶层有 * 函数定义 *,但是我们实际上调用了main
函数定义中的定义对象。我们这样做是因为程序变得更加结构化了,尽管只调用一个main
很容易运行程序,我们有五个不同的自包含和自给自足的函数对象-所以很容易维护程序和进一步扩展它。字符串