3216207773 发表于 2020-8-3 19:00:43

大大的疑问

print('检测你是不是主人')
print('请问你的姓名:',end=' ')
temp=input()
time=3
while temp!='呵呵' and time>0:
    temp=input()
    time=time-1
    if temp=='呵呵':
      print('你好')
    else:
      if time>0:
            print('重新输入:',end=' ')
      else:
            print('机会用光')
#为什么第一个还是会产生换行?

zltzlt 发表于 2020-8-3 19:02:01

这样看看:

print('检测你是不是主人')
print('请问你的姓名:', end=' ')
time = 3
temp = ''
while temp != '呵呵' and time > 0:
    temp = input()
    time = time - 1
    if temp == '呵呵':
      print('你好')
    else:
      if time > 0:
            print('重新输入:', end=' ')
      else:
            print('机会用光')

3216207773 发表于 2020-8-3 19:04:23

这样是可以
可为什么我找不出我的哪里有问题

小甲鱼的铁粉 发表于 2020-8-3 19:06:32

3216207773 发表于 2020-8-3 19:04
这样是可以
可为什么我找不出我的哪里有问题

print是自带换行的吧?{:10_257:}

3216207773 发表于 2020-8-3 19:07:53

加end=' '就会换行

zltzlt 发表于 2020-8-3 19:08:05

3216207773 发表于 2020-8-3 19:04
这样是可以
可为什么我找不出我的哪里有问题

因为如果你第一次输入的不是 '呵呵',程序就进入 while 循环,接着不打印任何提示就询问用户输入(temp=input())

3216207773 发表于 2020-8-3 19:11:24

为什么第一次换行啊

3216207773 发表于 2020-8-3 19:16:38

Read a string from standard input.The trailing newline is stripped.
   
    The prompt string, if given, is printed to standard output without a
    trailing newline before reading input.从标准输入读取字符串。 尾随的新闻线被剥离。 如果给出提示字符串,则在读取输入之前将其打印到标准输出,而不使用尾随换行符

zltzlt 发表于 2020-8-3 19:23:56

3216207773 发表于 2020-8-3 19:11
为什么第一次换行啊

什么意思?

Twilight6 发表于 2020-8-3 19:41:28

3216207773 发表于 2020-8-3 19:11
为什么第一次换行啊



因为你循环外面有一个 input 呀,而 input 会自动换行呀

Cool_Breeze 发表于 2020-8-3 19:59:13


print('检测你是不是主人',end='')
print('请问你的姓名:',end=' ')
temp=input()
time=3
while temp!='呵呵' and time>0:
    if temp=='呵呵':
      print('你好')
      break
    else:
      time=time-1
      if time>0:
            print('重新输入:',end=' ')
            temp=input()
      else:
            print('机会用光')

陈尚涵 发表于 2020-8-7 19:49:54

3216207773 发表于 2020-8-3 19:07
加end=' '就会换行

搞反了吧
页: [1]
查看完整版本: 大大的疑问